= The make_project script = The make_project script creates the server components of a BOINC project. To use it, [http://boinc.berkeley.edu/server.php set up a BOINC server]. Then, for example, type: {{{ cd BOINC_SOURCE/tools make_project --test_app cplan }}} This creates a project with master URL http://HOSTNAME/cplan/ whose directory structure is rooted at $HOME/projects/cplan. More specifically, make_project does the following: * Create the project directory and its subdirectories. * 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. * Create and initialize the MySQL database * Copy source and executable files * Generate the project's configuration file. With the '''--test_app''' option (recommended) the project will have a test application (uppercase) and daemons to generate and handle work for this application. This lets you quickly check that the project is working; you can remove the test application later by editing config.xml. The following steps complete the project setup: * Insert PROJECT_NAME.http.conf into /etc/apache/httpd.conf (path varies), or Include it from that file. * Run crontab -e, and add an entry to run the project's cron script: {{{ 0,5,10,15,20,25,30,35,40,45,50,55 * * * * PROJECT_HOME/bin/start --cron }}} * Run bin/xadd and bin/update_versions in the project's home directory. * Run bin/start. The script prints instructions for these steps. The command-line syntax is as follows: {{{ make_project [options] project_name [ 'Project Long Name ' ] }}} Options are as follows (normally you don't need to include any of them): == directory options == || --project_root || Project root directory path. Default: $HOME/projects/PROJECT_NAME || || --key_dir || Where keys are stored. Default: PROJECT_ROOT/keys || || --url_base || Determines master URL Default: http://HOSTNAME || || --no_query || Accept all directories without yes/no query || || --delete_prev_inst || Delete project-root first (from prev installation) || == URL options == || --html_user_url || User URL. Default: URL_BASE/PROJECT_NAME/ || || --html_ops_url || Admin URL. Default: URL_BASE/PROJECT_NAME_ops/ || || --cgi_url || CGI URL. Default: URL_BASE/PROJECT_cgi/ || == database options == || --db_host || Database host. Default: none (this host) || || --db_name || Database name. Default: PROJECT_NAME|| || --db_user || Database user. Default: current user || || --db_passwd || Database password. Default: None || || --drop_db_first || Drop database first (from prev installation) || == Miscellaneous options == || --test_app || install test application || || --verbose={0,1,2} || verbosity level, default 1 || || -h or --help || Show options ||