Nutex PHP Framework
Nutex PHP Framework
A Secure and Modular PHP Framework that uses XML-RPC and HTTPS for remote calls.
It uses the Smarty Template Engine to implement the admin part that has mysql
and multilanguage support. It has its own apache+php+mod_ssl to increase the
security. It can be used to implement a system to manage many servers or to
get infos from those servers. Sudo is used to do stuff that only root can do.
Currently it was tested only with SuSE 8.0. Later it should work with other
Linux Distros, FreeBSD and other *nix.
This is what I did in my spare time, trying to learn more about php,
security, xml-rpc, https and modularity. I intended to use all this
in a project that can be used to do stuff remotly, like managing users,
apache virtualhosts and so on.
This is a "learning by doing" project so please give me a chance. :)
In case you have any ideas, complains and so on please let me know.
Please take a look at the source code as it is documented and it
contains more features that are not listed here.
!!!USE IT ON YOUR OWN RISK!!!
- its own apache+php+mod_ssl that runs using the user's uid/gid you used to install the stuff
- multi language support
- uses the smarty template engine to separate the code from the layout
- system administration
- not core modules can be disabled
- su root
- add the group vserver (groupadd vserver)
- add the user vserver in /home/ (useradd -m -g vserver vserver)
- set a password for the server (passwd vserver)
- extract the files in the home directory of the user vserver (tar xzfv vserver-xxx.tgz)
- download apache, php and mod_ssl and put them in the /home/vserver/packages directory
- chown vserver.vserver * -R
- add this line to /home/vserver/.profile: export PATH=~/bin/apache/bin:$PATH
- append this to /etc/sudoers: vserver ALL=PASSWD: ALL
- create vserver database ( mysql -u root -p -> create database vserver; -> grant all privileges on vserver.* to vserver@localhost identified by 'vserver'; )
- make a "su vserver"
- import ~/dox/vserver.sql ( mysql -u vserver -p vserver < ~/dox/vserver.sql )
- setup ~/etc/config.ini (vs_mysql) in case you changed the default vserver mysql data
- unzip apache, php and mod_ssl
- rename apache_x.x.xx to apache and so on for all packages (mv apache_x.x.xx apache)
- go to packages and run go.sh
- when the certificate gets generated and you see "Common Name" write the domain name of your server
- and answear with no if see "Encrypt the private key now?" (otherwise you have to type in a password when your restart apache)
- copy ~/dox/httpd.conf to ~/etc/httpd/
- edit ~/etc/httpd/httpd.conf and replace vserver.net. with your domainname
- remove unwanted files in ~/htdocs/ with this: rm -fR index.html.* manual/ apache_pb.gif
- download smarty from here http://www.phpinsider.com/php/code/Smarty/ and copy Smarty.class.php, Smarty_Compiler.class.php and plugins to ~/includes
- download the xml-rpc stuff from here http://xmlrpc.usefulinc.com/php.html and copy xmlrpc.inc and xmlrpcs.inc to ~/includes
- chmod go-rwx * -R
- apachectl startssl
Download it from here.