From 8d5ab5524dbda41b842d5bd4d170e10d75da0028 Mon Sep 17 00:00:00 2001 From: Eric Heien Date: Wed, 19 Feb 2003 19:10:15 +0000 Subject: [PATCH] OS X server install doc svn path=/trunk/boinc/; revision=944 --- doc/os_x_server_install.txt | 95 +++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 doc/os_x_server_install.txt diff --git a/doc/os_x_server_install.txt b/doc/os_x_server_install.txt new file mode 100644 index 0000000000..a1eb3f9400 --- /dev/null +++ b/doc/os_x_server_install.txt @@ -0,0 +1,95 @@ +OS X BOINC Installation Procedure: + +0. If you have any comments about this procedure (what is difficult, what you think is unnecessary) please send them to the BOINC project admins. Change all references from "eheien" to your own username. You will need the administrator password to make changes to Apache. + +1. Ensure that you have PHP, MySQL, and the Apache PHP module installed. You can get these from http://www.php.net and http://www.entropy.ch/software/macosx/welcome.html. Ensure that Apache (Personal Web Sharing) is turned on in System Preferences - Sharing. + +2. Unzip and untar boinc_x.yz.tar.gz + +3. Change the MAX values in sched/sched_shmem.h each to 10 or you'll get an "shmget: Invalid argument" error when you run the feeder. Alternatively, you can change shared memory limitations in the kernel by editing the file: + +/System/Library/StartupItems/SystemTuning/SystemTuning + +changing + +sysctl -w kern.sysv.shmmax + +to a large value (i.e. 134217728). You must restart after editing this file for the changes to take effect. + +4. ./configure and make in the boinc directory. + +5. Run the following commands in the terminal. These will create the necessary directories for testing: + +mkdir ~/Sites/projects +mkdir ~/Sites/hosts +mkdir ~/Sites/keydir +mkdir ~/Sites/cgi-bin + +I use the Sites directory rather than /Library/WebServer because I couldn't get the latter to work. + +6. Generate keypairs. These are useful for security in real projects. We don't really need them for testing but their usage is built into BOINC so we have to create them anyway. In a real project, you would never want them visible to the outside world (i.e. don't put them in the Sites directory) and the code_sign_private should never even be on a computer on the network. To generate them, cd to boinc/lib and run: + +./crypt_prog -genkey 1024 ~/Sites/keydir/upload_private ~/Sites/keydir/upload_public +./crypt_prog -genkey 1024 ~/Sites/keydir/code_sign_private ~/Sites/keydir/code_sign_public + +7. Add the following to your .tcshrc file (setting the correct location for the boinc source directory): + +setenv BOINC_MAJOR_VERSION 1 +setenv BOINC_MINOR_VERSION 00 +setenv BOINC_PROJECTS_DIR ~/Sites/projects +setenv BOINC_HOSTS_DIR ~/Sites/hosts +setenv BOINC_USER_NAME eheien +setenv BOINC_SRC_DIR ~/Desktop/boinc/ +setenv BOINC_CGI_DIR ~/Sites/cgi-bin +setenv BOINC_CGI_URL http://localhost/~eheien/cgi-bin +setenv BOINC_HTML_DIR ~/Sites +setenv BOINC_HTML_URL http://localhost/~eheien +setenv BOINC_KEY_DIR ~/Sites/keydir +setenv BOINC_PLATFORM powerpc-apple-darwin6.1 +setenv BOINC_SHMEM_KEY 0x3612a32b + +Quit and reopen Terminal to load these new environment variables before continuing. + +8. Make sure both you and root (which runs Apache) have database access in mysql. To do this, run "mysql -u root -p" at the command line, and enter the mysql password (or hit enter if there is none). Once in mysql, enter: + +grant all on * to root@localhost; +grant all on * to eheien@localhost; + +This is necessary to allow the server and test scripts to access the database for testing. + +9. cd to /etc/httpd/users. "sudo vi eheien.conf". Change the following line: + +Options Indexes MultiViews + +to + +Options Indexes MultiViews FollowSymlinks + +And add the following line to the end of the file: + +ScriptAlias /~eheien/cgi-bin/ "/Users/eheien/Sites/cgi-bin/" + +This will allow Apache to follow the symbolic links set up by the test script and execute the proper cgi programs (used for the server). + +10. "sudo apachectl graceful" to restart Apache with the new configuration. + +11. Go to boinc/test and run ./test_uc.php to test the whole thing. Running the core client should take less than a minute or so. The final output from the test should look something like: + +adding apps +adding platforms +adding app versions +cp: /Users/eheien/Desktop/boinc//html_user/CVS is a directory (not copied). +cp: /Users/eheien/Desktop/boinc//html_ops/sample_stripchart is a directory (not copied). +cp: /Users/eheien/Desktop/boinc//html_ops/CVS is a directory (not copied). +sed -e s/SCHEDULER_URL/http:\\/\\/localhost\\/~eheien\\/cgi-bin\\/test\\/cgi/ /Users/eheien/Sites/projects/test/html_user/index.html > temp; mv temp /Users/eheien/Sites/projects/test/html_user/index.html +The master URL for project test is http://localhost/~eheien/test/html_user/index.html +The admin URL for project test is http://localhost/~eheien/test/html_ops/index.html +creating account files +writing /Users/eheien/Sites/hosts/test/account_test.xml +adding work +Running core client +Files match: uc_correct_output +Files match: uc_correct_output + +The name of the project database will be "eheien_test". If something goes wrong during the test, you can look at ~/Sites/hosts/test/client.out and ~/Sites/cgi-bin/test/feeder_out for debugging information. You can also look at the webserver logs at /var/log/httpd to see if the client is connecting to the server. If you want to view the projects user or administrative website, use a web browser and go to the master URL or admin URL listed above. +