Changes between Version 9 and Version 10 of control-panel/hacking/install
- Timestamp:
- May 5, 2013, 3:21:09 AM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
control-panel/hacking/install
v9 v10 1 1 = Installing red = 2 2 3 Reading overview.txt is a very good idea before trying to install.3 Reading `overview.txt` is a very good idea before trying to install. ??? there is no `overview.txt` any more. 4 4 5 5 Note: This is not a turn key solution. It will require programming, etc to work properly. … … 17 17 === Database === 18 18 19 * Database. Red only supports MySQL. To begin, create database (e.g. red) and import the initialize.sql file from the sql directory. You can safely ignore the remaining dated sql files - you will need to import them if you are upgrading, but not if you are installing from scratch.19 * Database. Red only supports MySQL. To begin, create database (e.g. `red`) and import [source:red/docs/sql/initialize.sql]. You can safely ignore the remaining dated sql files - you will need to import them if you are upgrading, but not if you are installing from scratch. 20 20 21 21 * Create a mysql user for the client program that has select, update, delete, and insert privileges (such as red-ui). … … 25 25 }}} 26 26 27 * Create a mysql user (e.g. red-node) for the server program using the following grant statements (to limit access to the bare minimum).27 * Create a mysql user (e.g. `red-node`) for the server program using the following grant statements (to limit access to the bare minimum). 28 28 29 29 {{{ … … 37 37 The ui directory contains all the files necessary for the web gui to work. 38 38 39 * Copy the etc/config.inc.php.sample file to etc/config.inc.phpand edit it.39 * Copy [source:red/ui/etc/config.inc.php.sample] to `ui/etc/config.inc.php` and edit it. 40 40 * Set {{{ $config['notify_host'] = false }}} (because we haven't setup the server yet). 41 * Update with the details of the red-ui user account you created above. 42 * Find the line that sets $base and change it to the red root directory. 43 * If you are not going to be using https, uncomment this line: {{{ $config['secure_cookies'] = false; }}} 41 * Update with the details of the `red-ui` user account you created above. 42 * Find the line that sets `$base` and change it to the red root directory. 43 * If you are not going to be using https, uncomment this line: 44 {{{ 45 $config['secure_cookies'] = false; 46 }}} 44 47 45 * In share/ihtmlcopy the .sample files to files without the .sample suffix. Edit if you want.48 * In [source:red/ui/share/ihtml] copy the .sample files to files without the .sample suffix. Edit if you want. 46 49 47 * In ui/wwwcopy the extra.css.sample to extra.css. Edit if you want.50 * In [source:red/ui/www] copy the extra.css.sample to extra.css. Edit if you want. 48 51 49 * Configure your web server so it can use the www directory in the ui folder as the DocumentRoot52 * Configure your web server so it can use the www directory in the ui folder as the `DocumentRoot` 50 53 51 * Test the UI. Login with user admin and password admin23. You should be able to add new items, which will be in the status "pending-insert."54 * Test the UI. Login with user `admin` and password `admin23`. You should be able to add new items, which will be in the status "pending-insert". 52 55 53 * On Fedora you need install the php-process package to get the posix_getuidfunction.56 * On Fedora you need install the `php-process` package to get the `posix_getuid` function. 54 57 55 58 * Ensure the hostname for the node you are configuring resolves correctly … … 59 62 * Your node computer must be able to access the database on your UI. You may need to configure your MySQL server on the UI to listen on a network IP address. 60 63 61 * You can checkout the red code anywhere you want, however, /usr/local/share/redis the canonical location.64 * You can checkout the red code anywhere you want, however, `/usr/local/share/red` is the canonical location. 62 65 63 * You should create a /usr/local/etc/red directory as well and copy the contents of node/etc/red/to this directory.66 * You should create a `/usr/local/etc/red` directory as well and copy the contents of [source:red/node/etc/red/] to this directory. 64 67 65 * Configure. Enter the etc/red directory. Copy all *.sample files to the name without ".sample"68 * Configure. Enter the etc/red directory. Copy all `*.sample` files to the name without `.sample` 66 69 67 70 Most files are configured to be used on a default debian configured system, so don't require additional editing. The red_node.conf is the only file that requires editing: … … 69 72 * Edit the line that says {{{ $node = 'localhost'; }}} and replace localhost with the hostname for the node. 70 73 71 * Test the node update command. Execute red-node-update passing the path to the red_node.conf file (the default location is /usr/local/etc/red/red_node.conf, you don't need to pass the path as the second argument if your conf file is already located there). For example:74 * Test the node update command. Execute red-node-update passing the path to the red_node.conf file (the default location is `/usr/local/etc/red/red_node.conf`, you don't need to pass the path as the second argument if your conf file is already located there). For example: 72 75 {{{ 73 76 node/sbin/red-node-update /path/to/etc/red/red-node.conf 74 77 }}} 75 78 76 * It should run silently, creating all the items that were in a pending state, changing the status to "active ."79 * It should run silently, creating all the items that were in a pending state, changing the status to "active". 77 80 78 81 === Setup ssh triggering === … … 83 86 }}} 84 87 85 * On each destination node, create a /root/.ssh/authorized_keys file for the user that you want red to be logging in as. In a real world environment, you will want this to be the root user (or a user with password-less sudo privs). You should add a line that includes the command option to limit access to executing the red-node-updatecommand, for example:88 * On each destination node, create a `/root/.ssh/authorized_keys` file for the user that you want red to be logging in as. In a real world environment, you will want this to be the root user (or a user with password-less sudo privs). You should add a line that includes the command option to limit access to executing the `red-node-update` command, for example: 86 89 {{{ 87 90 command="/usr/local/share/red/server/sbin/red-node-update" ssh-rsa AAAAB3NzaC1yc etc...