$Id: INSTALL,v 1.25 2004/07/29 15:40:13 ggw Exp $ --- mysqlISP INSTALL See CHANGES for info on release to release changes, and the LICENSE to make sure you agree to it's terms. --- Prerequisites mySQL 4.0 server and client libs installed and running on same server as the application. You must know the root password. (Paranoids: Check the install script in mainfunc.h) Must have a running Apache server on the same server with cgi capabilities. Should be SSL enabled if possible (see below for intranet or other just "testing" non-SSL setup) --- Intended Audience Linux system -via bash or similar shell- admins. Or people learning and with time to learn how to use bash as root and live with their mistakes. Must know how -or learn- to setup an Apache httpd daemon and configure a working and secure httpd.conf. Must understand the basics of DNS/Bind (www.isc.org.), httpd/Apache (www.apache.org), RADIUS, and Sendmail (www.sendmail.org). Should also learn about routing and firewalls. ISP owners/operators should as well understand basic billing and other small business skills. --- Example BASH Install Instructions GNU/make is required. Usually just make, some systems gmake. shell> tar xzf mysqlISPN.M.tar.gz (Where N is the major release number and N is the minor release number of the latest release available at openisp.net) shell> cd mysqlISP shell> export CGIDIR=/apache/cgi-bin/ (or whatever your Apache webconsole cgi-bin dir is) shell> vi local.h shell> vi makefile (vi/pico/emacs etc...change to match your mySQL setup, and preferences.) shell> make shell> make install shell> export ISMROOT=/home/joe (or whatever dir the mysql application project dir is in) shell> chown mysql $ISMROOT/mysqlISP/data (makes sure local mysql server can access data. This assumes that mysql is running the server.) shell> chmod o+x $ISMROOT (same issue as above since most systems have the home dir chmod 750) shell> /cgi-bin/mysqlISP.cgi Initialize This will setup application and allow you to login as user "Root" password "wsxedc". If anything fails you will probably have to: shell> mysql -u root -p mysql mysql> drop database mysqlisp; mysql> \q --- Upgrade Info shell> /cgi-bin/mysqlISP.cgi UpgradeSchema Also check out data/*.txt files you may need to load some new settings from them. You can do this in several ways. Most akward...will provide a better system shortly. --- SSL Setup If you have an SSL server handy edit local.h and comment in: //#define SSLONLY like so... #define SSLONLY Then shell>rm *.o shell>make --- Read More cp docs/tutorial.html to a browser accesible place or sym link to it if possible. cp docs/accounting.html to a browser accesible place or sym link to it if possible. Read them! Also read other *.txt files in docs directory. Some things in there you may find useful. --- Standard OpenISP setup backup operations (Loose instructions adjust to fit for your particular setup) shell>useradd -d openisp shell>mkdir -p ~openisp/mysqlISP/data shell>chown mysql ~openisp/mysqlISP/data shell>crontab -e # #mysqlISP # ##backup 20 3 * * * ISMROOT=~openisp;export ISMROOT;/cgi-bin/mysqlISP.cgi Backup > /dev/null --- Other backup ideas You should probably cross server backup all your OpenISP module data like so. Note that this involves using GRANT ALL mysql statements and a very secure internal ISP LAN. See mysql manual. Think about ISP organization with edge servers with 2 NICs and an ISP admin firewall zone with the mysql database server or replication cluster servers. All servers should have internal mirror backup drives or other cheap fast and reliable backup system (NFS and cpio in ISP admin firewall zone?) shell>crontab -e Add something like the following after setting up mysql for remote access from ONLY the IP in question in a VERY secure LAN (non routable IP's...switched hubs ...behind firewall...etc) #Extra backup of mysqlISP data only even days, using mysqldump from 192.168.100.23 20 4 * * */2 /usr/local/mysql/bin/mysqldump -e -h 192.168.0.43 -u mysqlisp -pwsxedc --all mysqlisp > ~openisp/mysqlISP/data/dumpall.txt --- Lose your data and your fired Don't be lazy backup and rebackup and database warehouse your mission critical data ALWAYS! Need help contact us! --- Accounting test suite We now include two .mysql files: accttestadd.mysql accttestdel.mysql These are used internally for us for validation of accounting procedures. Read the .mysql files for more info and how to use them if interested. Please note that one test product requires a local mysqlApache with bogus.openisp.net website with excess tUsage data. See mysqlApache for more info. After running # mysql -u mysqlisp -p