SSL for the complete server. The client insists on using SSL - it is not possible to connect the
client to the server without it.<p/>
-You need a C++ compiler that works with Qt. I usually recommend GCC 4.x for Linux and other Unixoid systems and using the <a href="http://www.mingw.org/">MinGW</a> version that comes with the complete Qt SDK for Windows. If you happen to have a Mac please let me know what works best... ;-)<p/>
+You need a C++ compiler that works with Qt. I usually recommend GCC 4.x for Linux and other Unixoid systems and using the <a href="http://www.mingw.org/">MinGW</a> version that comes with the complete Qt SDK for Windows. XCode will do fine for MacOS.<p/>
The source documentation needs <a href="http://www.doxygen.org/">Doxygen</a> in order to be built.
+<h2>Building</h2>
+
+Both server and client depend on some shared code that is pre-compiled into some of their components. So it is easiest to do a complete build (unless you are familiar with the sources).<p/>
+
+Make sure that the correct version of QMake is in your PATH (you can check this by executing <tt>qmake -version</tt>). Also note that MagicSmoke and Qt have to be compiled with the same compiler.<p/>
+
+Go to the main directory of MagicSmoke. There are a few lines at the start of the Makefile that you can adjust to better match your system (defaults should be fine for most cases).<p/>
+
+There is no support for automatic builds without MinGW on Windows. I have only tested Linux, MacOS/X and Windows/MinGW, so there is no guarantee for any other system.
+
+Unixoid systems:<br/>
+<tt>make <i>rule</i></tt><p/>
+
+Windows with MinGW:<br/>
+<tt>mingw32-make <i>rule</i></tt><p/>
+
+If you omit the <tt><i>rule</i></tt> parameter make will tell you which rules exist.<p>
+
+For the install targets the makefile assumes per default that everything belongs into sub-directories of /usr/local. You can change this by adding a PREFIX variable to the call, like this:<br>
+<tt>make -f Makefile PREFIX=$HOME/magicsmoke install</tt><br>
+this will instead install into the magicsmoke subdirectory of the calling users home directory.<p>
+
+This part of the installation will place the client into its final place, and prepare the server scripts for actual installation (see below).
+
+<h2>Manual Installation on Linux and Unix Systems</h2>
+
+Install the Qt4 library so that it is usable by Qt-based programs on your system. For systems that use the ELF binary format (eg. any Linux) Qt itself will take care of storing its location in the binary (RPATH). On other systems you can solve the problem by setting LD_LIBRARY_PATH or SHLIB_PATH to Qt's lib path.<p>
+
+Make sure OpenSSL is installed and available to Qt. For the scripting interface of MagicSmoke it is also recommended to install the <a href="http://labs.trolltech.com/page/Projects/QtScript/Generator">QtScript bindings</a>.<p>
+
+Copy the <tt>src/msmoke</tt> binary to the location you want to start it from. Or call:<br>
+<tt>make -f Makefile PREFIX=/usr/local install-client</tt><br>
+The latter will per default install into <tt>/usr/local/bin</tt>, you can change the target by setting a different PREFIX.
+
+<h2>Packages for MacOS/X</h2>
+
+Just build the entire package with:<br/>
+<tt>make macosx</tt><p>
+
+The <tt>src</tt> subdirectory will contain <tt>msmoke.app</tt> which can be started from the finder and <tt>msmoke.dmg</tt> which can be distributed on CD or via Web.
+
+<h2>Manual Installation on Windows</h2>
+
+Copy the src/msmoke.exe binary to a path you want to start it from. Then copy the Qt DLLs to the same path. From the OpenSSL directory copy libssl32.dll and libeay32.dll to that path. You should be able to start MagicSmoke from this path on any Windows machine.<p>
+
+If you used the full SDK of Qt to compile MagicSmoke, be sure to use the DLLs from the qt/bin subdirectory of the SDK, not the ones from bin - those are incompatible.<p>
+
+It is recommended to copy the contents of the plugins directory from your Qt installation to that path as well - this will make sure that all image formats etc. are supported.<p>
+
+For the scripting interface of MagicSmoke it is also recommended to install the <a href="http://labs.trolltech.com/page/Projects/QtScript/Generator">QtScript bindings</a> - they need to be placed in plugins/script.<p>
+
+<h2>Installation Package for Windows</h2>
+
+This requires the NSIS Installer.<p>
+
+The nsis target of the Makefile will create an installation package:<br>
+<tt>make -f Makefile nsis</tt>
+
<h2>Building and Installing Packages on Debian and Ubuntu</h2>
You need a working Debian packaging environment, usually this amounts to:<br/>
You can install those packages with:<br/>
<tt>dpkg -i <i>packagefile.deb</i></tt><p>
-For a server installation you need to create an empty database (mysql 5.x or postgres 8.x), configure your web server and install the server into its final web directory with:<br/>
-<tt>/usr/share/magicsmoke2-server/install.sh <i>target-directory</i></tt><p>
-
-<h2>Building</h2>
-
-Both server and client depend on some shared code that is pre-compiled into some of their components. So it is easiest to do a complete build (unless you are familiar with the sources).<p/>
-
-Make sure that the correct version of QMake is in your PATH (you can check this by executing <tt>qmake -version</tt>). Also note that MagicSmoke and Qt have to be compiled with the same compiler.<p/>
-
-Go to the main directory of MagicSmoke. There are a few lines at the start of the Makefile that you can adjust to better match your system (defaults should be fine for most cases).<p/>
-
-There is no support for automatic builds without MinGW on Windows. I have only tested Linux, MacOS/X and Windows/MinGW, so there is no guarantee for any other system.
-
-Unixoid systems:<br/>
-<tt>make <i>rule</i></tt><p/>
-
-Windows with MinGW:<br/>
-<tt>mingw32-make <i>rule</i></tt><p/>
-
-If you omit the <tt><i>rule</i></tt> parameter make will tell you which rules exist.<p>
-
-For the install targets the makefile assumes per default that everything belongs into sub-directories of /usr/local. You can change this by adding a PREFIX variable to the call, like this:<br>
-<tt>make -f Makefile.unix PREFIX=$HOME/magicsmoke install</tt><br>
-this will instead install into the magicsmoke subdirectory of the calling users home directory.
-
-<h2>Installation</h2>
-
-Use the install targets above for installation on a Unixoid system.<p>
+See the <a href="server.html">Server Installation</a> page on how to install a server instance afte installing the package.<p>
-See the <a href="install.html">Installation</a> page for details.
<h2>Building/Installing Magic Smoke</h2>
<ul>
-<li><a href="build.html">Building MagicSmoke</a></li>
-<li><a href="install.html">Installing MagicSmoke</a></li>
+<li><a href="build.html">Building and installing MagicSmoke</a></li>
<li><a href="server.html">Creating a Server Instance</a></li>
<li>Templates:<ul>
<li><a href="template.html">Web Template Design</a></li>
+++ /dev/null
-<html>
-<title>Magic Smoke Installation</title>
-</head>
-<body>
-<img src="logo.png" alt="logo" valign="left" align="top"/><br/>
-
-You need to <a href="build.html">build</a> the system first. This is also true for the server web components, since they include lots of generated sources.<p>
-
-<h1>MagicSmoke Client Installation</h1>
-
-On a Debian or Ubuntu system it is recommended to use the native installation packages for MagicSmoke - they will automatically require everything they depend upon.<p>
-
-<h2>Manual Installation on Linux and Unix Systems</h2>
-
-Install the Qt4 library so that it is usable by Qt-based programs on your system. For systems that use the ELF binary format (eg. any Linux) Qt itself will take care of storing its location in the binary (RPATH). On other systems you can solve the problem by setting LD_LIBRARY_PATH or SHLIB_PATH to Qt's lib path.<p>
-
-Make sure OpenSSL is installed and available to Qt. For the scripting interface of MagicSmoke it is also recommended to install the <a href="http://labs.trolltech.com/page/Projects/QtScript/Generator">QtScript bindings</a>.<p>
-
-Copy the <tt>src/msmoke</tt> binary to the location you want to start it from. Or call:<br>
-<tt>make -f Makefile.unix install-client</tt><br>
-The latter will per default install into <tt>/usr/local/bin</tt>.
-
-<h2>Manual Installation on Windows</h2>
-
-Copy the src/msmoke.exe binary to a path you want to start it from. Then copy the Qt DLLs to the same path. From the OpenSSL directory copy libssl32.dll and libeay32.dll to that path. You should be able to start MagicSmoke from this path on any Windows machine.<p>
-
-If you used the full SDK of Qt to compile MagicSmoke, be sure to use the DLLs from the qt/bin subdirectory of the SDK, not the ones from bin - those are incompatible.<p>
-
-It is recommended to copy the plugins directory from your Qt installation to that path as well - this will make sure that all image formats etc. are supported.<p>
-
-For the scripting interface of MagicSmoke it is also recommended to install the <a href="http://labs.trolltech.com/page/Projects/QtScript/Generator">QtScript bindings</a> - they need to be placed in plugins/script.<p>
-
-<h2>Installation Package for Windows</h2>
-
-This requires the NSIS Installer.<p>
-
-(to be completed...)
-
-<!--
-*******************************************************************************
-*******************************************************************************
-*******************************************************************************
--->
-<h1>Magic Smoke Server Installation</h1>
-
-The steps below assume that you are using a Unixoid system. A lot of them will not work on windows, since the makefile for windows does not contain them and the symlinks used inside the server source tree are not present under Windows - you will have to do a lot of manual copying in that case.
-
-<h2>Prerequisites</h2>
-
-You need a (web-)server that has PHP and a database server:
-
-<ul>
-<li>A webserver running PHP 5:
- <ul>
- <li>version 5.2 or newer</li>
- <li>One of the supported Database drivers: currently MySQLi and PostgreSQL are supported.</li>
- <li>PCRE</li>
- <li>XML driver: dom</li>
- <li>The date extension for time zone support</li>
- </ul></li>
-<li>A database server -- you need full (SELECT, INSERT, UPDATE, CREATE) access to at least one database:
- <ul>
- <li>MySQL 5.x, or</li>
- <li>Postgres 8.x</li>
- </ul></li>
-</ul>
-
-Hint: you can check what modules are active in your PHP installation by creating a script file
-(eg. <tt>test.php</tt>) that contains only this line: <tt><? phpinfo(); ?></tt> .
-When you install this file on the web server and then open its URL in a browser it will show
-you an overview of all PHP functionality. If it returns an empty page, the file was not processed
-by PHP and you still need to configure the web server.<p>
-
-The database server must be reachable by the web server, but does not need to be on the same machine.
-
-<h2>Local Installation</h2>
-
-You will have to prepare an installation directory for the server by either installing the Debian packages or by installing locally:<br>
-<tt>make -f Makefile.unix install-server</tt><p>
-
-This places the PHP sources into a a specific directory on your system instead of continuing to use the source directory. It does not activate your first server yet.<p>
-
-Please read the <a href="server.html">Server Creation</a> page on how to continue from here.
-
-<a name="isp"/>
-<h2>Installation on an ISP Account</h2>
-
-If you are using an account at an ISP you usually don't get much access to the server. You still have to make sure that you have support for all required components.<p>
-
-You also need to do a local installation first if you want to install to an external ISP account (unless you have full shell and network access there). It is also recommended to try out MagicSmoke on a local box first. If you do not want to install MagicSmoke into a system directory, just change the PREFIX:<br>
-<tt>make -f Makefile.unix install-server PREFIX=$HOME/magicsmoke</tt><p>
-
-Copy the local server installation directory to you ISP account with whatever copying mechanism your provider has given you (usually FTP or scp). Rename <tt>config.php.template</tt> to <tt>config.php</tt>.<p>
-
-Some providers install several versions of PHP in parallel and detect what version you use by the file suffic that you are using. Try the <tt>phpinfo()</tt> call from above with different file extensions (eg. .php, .php5) to find out what is needed to be interpreted as a PHP 5 (version 5.2 or newer) script. Rename exactly the scripts index.php, admin.php, and machine.php to the correct suffix. Do NOT change any other script names - these are the only ones executed directly and they rely on the other script names still being as delivered.<p>
-
-You will usually get a MySQL database and a matching user name from your provider. You can skip the basic DB creation, configure the parameters you got from the provider and then go on with the configuration as normal. See <a href="server.html">Server Creation</a> for details.<p>
-
-
-</body>
-</html>
\ No newline at end of file
<h1>Creating a Magic Smoke Server Instance</h1>
-You need to <a href="build.html">build</a> and <a href="install.html">install</a> the system first.<p>
+You need to <a href="build.html">build and install</a> the system first.<p>
The steps below assume that you are using a Unixoid system. A lot of them will not work on windows, since the makefile for windows does not contain them and the symlinks used inside the server source tree are not present under Windows - you will have to do a lot of manual copying in that case.
<h2>Prerequisites</h2>
+You need a (web-)server that has PHP and a database server:
+
+<ul>
+<li>A webserver running PHP 5:
+ <ul>
+ <li>version 5.2 or newer</li>
+ <li>One of the supported Database drivers: currently MySQLi and PostgreSQL are supported.</li>
+ <li>PCRE</li>
+ <li>XML driver: dom</li>
+ <li>The date extension for time zone support</li>
+ </ul></li>
+<li>A database server -- you need full (SELECT, INSERT, UPDATE, CREATE) access to at least one database:
+ <ul>
+ <li>MySQL 5.x, or</li>
+ <li>Postgres 8.x</li>
+ </ul></li>
+</ul>
+
+Hint: you can check what modules are active in your PHP installation by creating a script file
+(eg. <tt>test.php</tt>) that contains only this line: <tt><? phpinfo(); ?></tt> .
+When you install this file on the web server and then open its URL in a browser it will show
+you an overview of all PHP functionality. If it returns an empty page, the file was not processed
+by PHP and you still need to configure the web server.<p>
+
+The database server must be reachable by the web server, but does not need to be on the same machine.<p>
+
Make sure your web server, and database server work normally.
<h2>Database Preparation</h2>
<h2>Server Instance Creation</h2>
-You can skip this part for ISP side installations, instead follow the instructions for <a href="install.html#isp">Installation on an ISP Account</a>.<p>
+You can skip this part for ISP side installations, instead follow the instructions for Installation on an ISP Account below.<p>
-During <a href="install.html">installation</a> you copied all MagicSmoke sources into a central directory. MagicSmoke supports being run as multiple instances. For each instance you have to chose a target directory in which you want to configure it.<p>
+Either install the server package or use the sources in <tt>www</tt> directly. For each instance you have to chose a target directory in which you want to configure it.<p>
Execute <tt>/usr(/local)/share/magicsmoke2-server/install.sh</tt> with your target directory
as parameter. This will link the current version of MagicSmoke into the target directory, if you have already made a configuration there it will not touch it.<p>
If the target directory is not already inside the DocumentRoot of your server, link the target directory into your web server - either with a symlink or an Alias configuration statement.
+<h2>Installation on an ISP Account</h2>
+
+If you are using an account at an ISP you usually don't get much access to the server. You still have to make sure that you have support for all required components.<p>
+
+You also need to do a local installation first if you want to install to an external ISP account (unless you have full shell and network access there). It is also recommended to try out MagicSmoke on a local box first. If you do not want to install MagicSmoke into a system directory, just change the PREFIX:<br>
+<tt>make install-server PREFIX=$HOME/magicsmoke</tt><p>
+
+Copy the local server installation directory to you ISP account with whatever copying mechanism your provider has given you (usually FTP or scp). Rename <tt>config.php.template</tt> to <tt>config.php</tt>.<p>
+
+Some providers install several versions of PHP in parallel and detect what version you use by the file suffic that you are using. Try the <tt>phpinfo()</tt> call from above with different file extensions (eg. .php, .php5) to find out what is needed to be interpreted as a PHP 5 (version 5.2 or newer) script. Rename exactly the scripts index.php, admin.php, and machine.php to the correct suffix. Do NOT change any other script names - these are the only ones executed directly and they rely on the other script names still being as delivered.<p>
+
+You will usually get a MySQL database and a matching user name from your provider. You can skip the basic DB creation, configure the parameters you got from the provider and then go on with the configuration as described below.<p>
+
+
+
<h2>Configuring MagicSmoke</h2>