Changes between Version 15 and Version 16 of MakeProject
- Timestamp:
- Jul 12, 2007, 4:37:54 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MakeProject
v15 v16 1 = The make_projectscript =1 = The `make_project` script = 2 2 3 The make_projectscript creates the server components of a BOINC project. To use it, [ServerIntro set up a BOINC server]. Then, for example, type:3 The `make_project` script creates the server components of a BOINC project. To use it, [ServerIntro set up a BOINC server]. Then, for example, type: 4 4 {{{ 5 5 cd BOINC_SOURCE/tools 6 6 make_project --test_app cplan 7 7 }}} 8 This creates a project with master URL !http://HOSTNAME/cplan/ whose directory structure is rooted at $HOME/projects/cplan.8 This creates a project with [ServerComponents#ThemasterURL master URL] `http://HOSTNAME/cplan/` whose directory structure is rooted at `$HOME/projects/cplan`. 9 9 10 More specifically, make_projectdoes the following:10 More specifically, `make_project` does the following: 11 11 12 * Create the project directory and its subdirectories.12 * Create the [ServerDirs project directory and its subdirectories]. 13 13 * Create the project's encryption keys if necessary. NOTE: before making the project visible to the public, you must move the code-signing private key to a highly secure (preferably non-networked) host, and delete it from the server host. 14 * Create and initialize the MySQL database15 * Copy source and executable files 16 * Generate the project's configuration file.14 * Create and initialize the [DataBase MySQL database]. 15 * Copy source and executable files. 16 * Generate the project's [ProjectConfigFile configuration file]. 17 17 18 With the '''--test_app''' option (recommended) the project will have a test application (uppercase) 19 and daemons to generate and handle work for this application. 18 With the '''--test_app''' option (recommended for the first time) the project will have a [ExampleApps test application] (uppercase) and daemons to generate and handle work for this application. 20 19 This lets you quickly check that the project is working; 21 you can remove the test application later by editing config.xml. 20 you can remove the test application later by editing [ProjectConfigFile config.xml]. 21 {{{ 22 #!comment Editing config.xml alone isn't enough to get rid of an application. Only the validator and assimilator are there. To remove the app itself, DB edits are needed. However, I'm not sure how to explain that to somebody who has just created a project and doesn't know too much yet. 23 }}} 22 24 23 25 The following steps complete the project setup: 24 26 25 * Insert PROJECT_NAME.http.conf into /etc/apache/httpd.conf (path varies), or Includeit from that file.26 * Run crontab -e, and add an entry to run the project's cron script:27 * Insert `PROJECT_NAME.http.conf` into `/etc/apache/httpd.conf` (path varies), or [http://httpd.apache.org/docs/2.0/mod/core.html#include Include] it from that file. 28 * Run `crontab -e`, and add an entry to run the project's cron script: 27 29 {{{ 28 30 0,5,10,15,20,25,30,35,40,45,50,55 * * * * PROJECT_HOME/bin/start --cron 29 31 }}} 30 (if cron cannot run 'start', try using a helper script to set PATH and PYTHONPATH)31 * Run bin/xadd and bin/update_versionsin the project's home directory.32 * Run bin/start.32 (if cron cannot run 'start', try using a helper script to set the `PATH` and `PYTHONPATH` environment variables) 33 * Run [XaddTool bin/xadd] and [UpdateVersions bin/update_versions] in the project's home directory. 34 * Run [StartTool bin/start]. 33 35 34 36 The script prints instructions for these steps. … … 40 42 Options are as follows (normally you don't need to include any of them): 41 43 42 == directory options ==43 || --project_root || Project root directory path. Default: $HOME/projects/PROJECT_NAME||44 || --key_dir || Where keys are stored. Default: PROJECT_ROOT/keys||45 || --url_base || Determines master URL Default: !http://HOSTNAME||44 == Directory options == 45 || --project_root || Project root directory path. Default: `$HOME/projects/PROJECT_NAME` || 46 || --key_dir || Where keys are stored. Default: `PROJECT_ROOT/keys` || 47 || --url_base || Determines master URL Default: `http://HOSTNAME` || 46 48 || --no_query || Accept all directories without yes/no query || 47 49 || --delete_prev_inst || Delete project-root first (from prev installation) || 48 50 == URL options == 49 || --html_user_url || User URL. Default: URL_BASE/PROJECT_NAME/||50 || --html_ops_url || Admin URL. Default: URL_BASE/PROJECT_NAME_ops/||51 || --cgi_url || CGI URL. Default: URL_BASE/PROJECT_cgi/||52 == database options ==51 || --html_user_url || User URL. Default: `URL_BASE/PROJECT_NAME/` || 52 || --html_ops_url || Admin URL. Default: `URL_BASE/PROJECT_NAME_ops/` || 53 || --cgi_url || CGI URL. Default: `URL_BASE/PROJECT_cgi/` || 54 == Database options == 53 55 || --db_host || Database host. Default: none (this host) || 54 || --db_name || Database name. Default: PROJECT_NAME||56 || --db_name || Database name. Default: `PROJECT_NAME` || 55 57 || --db_user || Database user. Default: current user || 56 58 || --db_passwd || Database password. Default: None ||