14 | | Otherwise, you can potentially use any Unix system as a BOINC server |
15 | | (we recommend using a recent Linux release). |
16 | | The remainder of this page describes how to configure this |
17 | | system to act as a BOINC server. |
| 14 | Otherwise, you can potentially use any Unix system as a BOINC server; |
| 15 | we recommend using a recent Linux release. |
| 16 | A cookbook for setting up a BOINC server on a Debian 4.0 system is [#DebianCookbook here]. |
| 17 | |
| 18 | The following sections describes how to configure any Linux system to act as a BOINC server. |
| 109 | == Cookbook for Debian 4.0 == |
| 110 | |
| 111 | === Install software prerequisites === |
| 112 | packages needed for BOINC: |
| 113 | |
| 114 | {{{ |
| 115 | apache2-mpm-prefork |
| 116 | libapache2-mod-php5 |
| 117 | mysql-client-5.0 |
| 118 | mysql-server-5.0 |
| 119 | php5-mysql |
| 120 | php5-cli |
| 121 | php5-gd |
| 122 | phpmyadmin |
| 123 | python-mysqldb |
| 124 | m4 |
| 125 | make |
| 126 | autoconf |
| 127 | automake1.9 |
| 128 | gcc-4.1 |
| 129 | g++-4.1 |
| 130 | libssl-dev |
| 131 | libmysql++-dev |
| 132 | libglut3-dev |
| 133 | glutg3-dev |
| 134 | libglui-dev |
| 135 | libglitz-glx1-dev |
| 136 | libsdl1.2-dev |
| 137 | libcurl3-dev |
| 138 | freeglut3 |
| 139 | freeglut3-dev |
| 140 | libsm-dev |
| 141 | libice-dev |
| 142 | libxmu-dev |
| 143 | libxi-dev |
| 144 | libx11-dev |
| 145 | libjpeg62-dev |
| 146 | libgtk2.0-0 |
| 147 | libgtk2.0-0-dev |
| 148 | libtool |
| 149 | subversion |
| 150 | vim |
| 151 | }}} |
| 152 | optional packages for a graphical desktop manager |
| 153 | {{{ |
| 154 | kdebase |
| 155 | kde-guidance |
| 156 | synaptic |
| 157 | iceweasel |
| 158 | xserver-org |
| 159 | }}} |
| 160 | |
| 161 | This list contains all necessary packages for the BOINC server and the client components. At first startup, these packages should be installed with aptitude. The graphical desktop manager is optional, but makes the configuration of the server a bit easier. |
| 162 | The list contains no security packages to secure your server! Please ask your system administrator or read a good linux book on how to secure your server against attacks. |
| 163 | |
| 164 | Hint: You can search packages within aptitude by pressing the ‘/’ key. |
| 165 | |
| 166 | === Create a new BOINC user account === |
| 167 | Login as user ‘notroot’ with the password: ‘thoughtpolice’ (downloaded image only) |
| 168 | |
| 169 | Go to ‘K-Menu’ -> ‘Settings’ -> ‘System Administration’ -> ‘User Management’, claim administrative privileges with password: ‘thoughtpolice’ (downloaded image only) |
| 170 | |
| 171 | Create a new user, for example: boincadm |
| 172 | |
| 173 | After that go to the ‘Groups’ tab and add the user ‘www-data’ to the group ‘boincadm’. |
| 174 | |
| 175 | Logout and login again as user boincadm if this is done. |
| 176 | === Configuration of the MySQL server === |
| 177 | Open a new console window (’K-menu’ -> ‘Debian’ -> ‘XShells’ -> ‘Konsole’). |
| 178 | |
| 179 | Define a new MySQL root password. |
| 180 | {{{ |
| 181 | $ mysqladmin -h localhost -u root password mysqlrootpw {or own} |
| 182 | }}} |
| 183 | Create a new MySQL database user account. |
| 184 | {{{ |
| 185 | $ mysql -h localhost -u root -p |
| 186 | > GRANT ALL ON *.* TO 'boincadm'@'localhost'; |
| 187 | > SET PASSWORD FOR 'boincadm'@'localhost'=''; |
| 188 | }}} |
| 189 | The permissions can be limited to project database only, later; |
| 190 | Defining an empty password simplifies the installation, can be changed later. |
| 191 | |
| 192 | === Install the wxWidget library === |
| 193 | Download the latest wxGTK version [http://www.wxwidgets.org/downloads/ here]. |
| 194 | |
| 195 | Extract the contents of the file into ~/wxGTK-2.8.3 |
| 196 | |
| 197 | After this enter the following commands into the console window in this order: |
| 198 | {{{ |
| 199 | $ cd ~/wxGTK-2.8.3 |
| 200 | $ mkdir gtkbuild |
| 201 | $ cd gtkbuild |
| 202 | $ ../configure --with-gtk --disable-shared |
| 203 | $ make |
| 204 | $ su root |
| 205 | # make install |
| 206 | # ldconfig |
| 207 | # exit |
| 208 | }}} |
| 209 | The commands configure and make could take a while, so you can fetch some coffee. ;) |
| 210 | === Download the BOINC source code === |
| 211 | The latest development version can be obtained with: |
| 212 | {{{ |
| 213 | $ cd ~ |
| 214 | $ svn co http://boinc.berkeley.edu/svn/trunk/boinc boinc_trunk |
| 215 | To update the source code just go into the main directory and enter: |
| 216 | $ cd ~/boinc_trunk |
| 217 | $ svn update |
| 218 | }}} |
| 219 | A stable client version can be obtained with the following commands: |
| 220 | {{{ |
| 221 | $ cd ~ |
| 222 | $ svn co http://boinc.berkeley.edu/svn/tags/boinc_core_release_5_9_5/boinc boinc_595 |
| 223 | }}} |
| 224 | Hint: Normally you won’t need a self-compiled client, you can always get the latest one from here. |
| 225 | |
| 226 | === Compiling BOINC source code === |
| 227 | Enter the following commands into the console window: |
| 228 | {{{ |
| 229 | $ cd ~/boinc_trunk |
| 230 | $ ./_autosetup |
| 231 | $ ./configure |
| 232 | $ make |
| 233 | }}} |
| 234 | That’s everything you need to know about compiling the BOINC software. Now you you are able to create your own BOINC project. I’m going to explain this in my next entry. |