diff --git a/README b/README index dff2310ac..e27082aa1 100644 --- a/README +++ b/README @@ -2,9 +2,19 @@ This is the PSGI branch of WebGUI8 To try this out: + 0) Start from WebGUI 7.10.4 or the example .conf and create.sql that comes with WebGUI 8 1) Run testEnvironment.pl to install Plack - 2) $ cd - 3) $ plackup app.psgi + 2) Get a new wgd from http://haarg.org/wgd + 3) $ wgd reset --upgrade + 4) $ cd /data/WebGUI (or whereever you unpacked it) + 5) $ rsync -r -a (or cp -a) /data/WebGUI/www/extras /data/domains/www.example.com/public/ + 6) $ export PERL5LIB='/data/WebGUI/lib:/data/WebGUI/t/lib' + +To start it: + + 7) $ plackup app.psgi + +See docs/install.txt for more detailed installation instructions. Currently, the best performance is achieved via: @@ -16,33 +26,6 @@ You can benchmark your server via: I'm currently getting 370 requests/second, whereas I'm getting 430/second on the non-PSGI WebGUI8 branch. -= INSTALL = - -* Recent Perl (5.12.1 or better) -* Install ImageMagick (http://www.imagemagick.org/, compile and install the source or binary package) -* Run sbin/testEnvironment.pl as root to install Perl modules -* MySQL with a user account -* Load share/create.sql -* Copy WebGUI.conf.original to something named after the site's URL and ending in .conf, - such as www.example.com.conf and edit it, making sure to insert your site's URL and - the database connection information (dbuser, dbpass, dsn) -* wgd reset --uploads -* Continue with the UPGRADE instructions below - -= UPGRADE = - -* Run sbin/testEnvironment.pl. WebGUI 8 adds new dependencies. -* Update wgd. Get it from http://haarg.org/wgd, put in /data/wre/prereqs/bin/ or /usr/local/bin, - and do chmod ugo+x /data/wre/prereqs/bin/wgd to make it executable. WebGUI has a new upgrades system - for wgd to support. The old system silently ignores the new upgrade scripts. -* wgd reset --upgrade - This is needed even for new WebGUI 8 installs. The create.sql and WebGUI.conf.original are both - from 7.10.x. -* rsync -r -a (or cp -a) /data/WebGUI/www/extras /data/domains/www.example.com/public/ -* export PERL5LIB='/data/WebGUI/lib:/data/WebGUI/t/lib' - Previously, this would break Apache if it were set; now it's required for the stuff plackup loads to - find the rest of WebGUI. - = ARCHITECTURE = * The root level app.psgi file loads all the config files found and diff --git a/docs/install.txt b/docs/install.txt index de5cb5650..8fd5d0ea3 100644 --- a/docs/install.txt +++ b/docs/install.txt @@ -2,69 +2,100 @@ # Quick And Dirty Install Instructions # ################################################################## -The following is a rough overview of how to install WebGUI. For -more detailed instructions read the WebGUI installation -documentation. - - http://wiki.webgui.org/installation-options +The following is a rough overview of how to install WebGUI *8*. -QnD INSTALL INSTRUCTIONS: +http://wiki.webgui.org/installation-options has instructions for +WebGUI 7. -1. Install Perl 5.8 or higher. +== INSTALL == -2. Install Apache 2.0 with mod_perl 2.0 and set up your config. Add the -following directives to mod_perl (See WebGUI Done Right for more detail.) +* Install a recent Perl (5.12.1 or better) if you don't have one already -LoadModule apreq_module modules/mod_apreq2.so -LoadModule perl_module modules/mod_perl.so -PerlSetVar WebguiRoot /data/WebGUI -PerlCleanupHandler Apache2::SizeLimit -PerlRequire /data/WebGUI/sbin/preload.perl +* Install a recent MySQL and set up a user account - - ServerName www.example.com - ServerAlias example.com - DocumentRoot /data/domains/example.com/www/public - SetHandler perl-script - PerlInitHandler WebGUI - PerlSetVar WebguiConfig www.example.com.conf - +* Install ImageMagick (http://www.imagemagick.org/, compile and install the + source or binary package) -3. Install MySQL 5.0.10 or higher. +* Get WebGUI from GitHub and check out the WebGUI8 branch: -4. Install Image Magick 6.0 or higher. + $ git clone https://github.com/plainblack/webgui.git + $ git checkout WebGUI8 --track -5. Extract WebGUI into your webroot. +* Setup your configuration files -6. Start MySQL. + Copy WebGUI.conf.original to something named after the site's URL and + ending in .conf, such as www.example.com.conf, and edit it, making sure + to insert your site's URL and the database connection information + (dbuser, dbpass, dsn). -7. Run the following Database commands. (You should modify the - commands to match your database, username, and password.) + Edit "etc/spectre.conf" to define port and worker settings for spectre. - mysql -e "create database WebGUI" - mysql -e "grant all privileges on WebGUI.* to webgui@localhost identified by 'password'" - mysql -e "flush privileges" - mysql -uwebgui -ppassword WebGUI < share/create.sql + Set WEBGUI_CONFIG to point at your new configuration file: -8. Edit "etc/WebGUI.conf" to match your DB settings and log directory. + $ export WEBGUI_CONFIG='/data/WebGUI/etc/www.example.com.conf' -9. Edit "etc/spectre.conf" to define port and worker settings for spectre +* Automatically install new Perl module dependencies: -10. Run the following command from your WebGUI/sbin directory to install - the required perl modules and determine whether you've configured - your system correctly. + $ sbin/testEnvironment.pl as root to install Perl modules - perl testEnvironment.pl +* Create a MySQL user account for the domain WebGUI is to host + and share/create.sql into that database - If it returns all "OK" then you're done. + $ mysql --password --user=root -e "create database www_example_com" + $ mysql --password --user=root -e "grant all privileges on www_example_com.* + to webgui@localhost identified by 'XXXXpasswordhereXXXX'" + $ mysql --password --user=webgui < share/create.sql -11. Start Apache. +* wgd reset --uploads -12. Start Spectre. +* Continue with the UPGRADE instructions below + + +== UPGRADE == + +* Run sbin/testEnvironment.pl. WebGUI 8 adds new dependencies. + +* Update wgd: + + WebGUI has a new upgrades system for wgd to support. The old system silently + ignores the new upgrade scripts. + + Get wgd from http://haarg.org/wgd, put in /data/wre/prereqs/bin/ (if you're + using the WRE), /usr/local/bin, or ~/bin. + + Do chmod ugo+x wgd to make it executable. + +* Run Upgrades: + + $ wgd reset --upgrade + + This is needed even for new WebGUI 8 installs. The create.sql and + WebGUI.conf.original are both from 7.10.x. + +* Copy new "extras" (images, CSS, JavaScript) over: + + $ rsync -r -a (or cp -a) /data/WebGUI/www/extras \ + /data/domains/www.example.com/public/ + +* Add WebGUI's libraries to Perl's library path: + + $ export PERL5LIB='/data/WebGUI/lib:/data/WebGUI/t/lib' + + Previously, this would break Apache if it were set; now it's required for the + stuff plackup loads to find the rest of WebGUI. + +* Launch WebGUI 8: + + $ plackup app.psgi + + ... then connect your browser to the URL it advertises. + + You'll be guided through a few quick questions to setup an admin account. + (Or, if you aren't but wanted to be, run wgd reset --starter to enable it.) + +* Start Spectre: cd /data/WebGUI/sbin perl spectre.pl --daemon -13. Browse to your site. You'll be guided through a few quick questions - to setup an admin account.