HELP FOR SMART PUBLISHER INSTALLATION
The installation of the Smart Publisher is divided in 5 stages:
1. Installation of the main application (client side) The installation demands the Windows software having the protocol TCP/IP installed. We run the file SmartPublisher.exe and after 5 consensequent steps the application is installed.
2. Modification of the main application (if deemed necessary) In the directory where the application has been installed there exists a file named publish.ini This file contains the settings for the MySQL the webservice and the eAccelerator.
The first time this file contains:
[mysql] host = 127.0.0.1 user = root pass =
[soap] folder = ws pass =
[ea] server = 0
The first segment contains the settings for the local mysql which will be compared with the remote. The local mysql may not run in the same system where the application was installed.
The second segment contains the settings for the folder where the webservice is in the remote server as well as the password we have given.
The third segment also states ((if we use eAccelerator) if the encryption will be done in the server or in the application (default in the application which contains the module for the eAccelerator).
3. Installation of the webservice (server side) In the directory where the application has been installed there is a file named webservice.zip that contains all the necessary files for the installation in the server. We select a folder under the document root of the webserver so as to have access from the server ip, and we put in the files: nusoap.php, publish.def, cmysql.php and publish.php
This folder is the same as we have stated above in the publish.ini of our application. e.g. for the folder 'ws', which is the default, we should give http://xxx.xxx.xxx.xxx/ws/publish.php (where xxx.xxx.xxx.xxx put the server ip) for the following page to appear:
4. Modification of the webservice The modification of the webservice is done with php defines in the file publish.def.
define('CONNECT_PASS',''); define('APACHE_CHOWN','apache.apache');
define('SUDO','/usr/local/bin/sudo'); define('SUDO_PASS','');
In the first one we state the password for the webservice so as not to be used by someone else and cause damage to the server. This must be the same as th publish.ini in the main application for them to be able to communicate.
In the second one we state the group and the user from the linux file system for the files the webservice creates to belong to this user.
The other two refer to the sudo installation (if that is deemed necessary to install).
5. Sudo installation With the installation of the sudo we give the webservice the ability to manage files beyond the typical user that is permitted by the web server. After we download the file sudo-1.6.8p12.tar.gz from the site http://www.courtesan.com/sudo/ we give the following orders:
# tar xvfz sudo-1.6.8p12.tar.gz # cd sudo-1.6.8p12 # ./configure # make # make install
And now we need to alter the file /etc/sudoers a little so that the webservice can use the sudo. What is needed is to add the user of the webserver so that s/he will be able to get root rights. The alteration of the file is done with the order visudo.
# sudoers file. # # This file MUST be edited with the 'visudo' command as root. # # See the sudoers man page for the details on how to write a sudoers file. #
# Host alias specification # User alias specification # Cmnd alias specification # Defaults specification # Runas alias specification
# User privilege specification #root ALL=(ALL) ALL apache ALL=(ALL) ALL
Of course at this point we should mention that this user should also get a password so that not any php script or cgi script can have root rights. E.g. for the apache we would give:
# passwd apache Changing password for user apache. New password:
This password must be stated in the respective define of the webservice. Also if the sudo has been installed in a folder other than the /usr/local/bin/ it should also be stated respectively. |