It is of course a bad idea to write code that depends on register_globals for security reason, but sometimes when faced with old code it's a necessary evil. You can turn on register_globals for a site or directory by adding the following line to your .htaccess file:
php_flag register_globals on
If you have a server with PHP4 installed but need PHP5 on some websites then:
Add lines like the following to your apache virtual host:
AddHandler application/x-httpd-php5 .php ScriptAlias /bin /opt/php51/cgi-bin Action application/x-httpd-php5 /bin/php5
You might also find the RemoveHandler directive handy to disable PHP4.
If you need PHP4 on a CentOS5/RHEL5 server then you'll find the RPMs linked below very handy. They install to /opt/php4 and can coexist with a default PHP 5 install.
The included conf.d/php4.conf file includes sample lines to run it as a CGI or as a module.
RPMs are here:
http://repo.conforge.com/conforge/CentOS/5/i386/RPMS/
http://repo.conforge.com/conforge/CentOS/5/x86_64/RPMS/
See this URL for details to add the yum repo:
http://wiki.conforge.com/wiki/Linux-PHP4cgiAndPHP5on+CentOS5
Here's a step-by-step to setup a RackSpace Cloud Server with CentOS for PHPList (http://phplist.com):
Install PHP, PHP IMAP module, PHP MySQL module, MySQL Server and FTP server:
> yum install php > yum install php-imap > yum install php-mysql > yum install mysql-server > yum install vsftpd
Apache and a number of other related packages are installed automatically as dependencies.
Set Apache, MySQL and FTP service to start on boot:
> /sbin/chkconfig --level 345 httpd on > /sbin/chkconfig --level 345 mysqld on > /sbin/chkconfig --level 345 vsftpd on
Start Apache, MySQL and FTP:
> /sbin/service httpd start > /sbin/service mysqld start > /sbin/service vsftpd start
Set MySQL root password:
> /usr/bin/mysqladmin -u root password 'somepass' > /usr/bin/mysqladmin -u root -h ENS password 'somepass'
Download PHPList distribution:
> mkdir /root/archive > cd /root/archive > wget http://downloads.sourceforge.net/project/phplist/phplist/2.10.10/phplist-2.10.10.tgz?use_mirror=voxel
Unpack and install
> tar -xvzf phplist-2.10.10.tgz
> rsync -avz phplist-2.10.10/public_html/lists \
/var/www/html/
Add FTP user and set file ownership:
> /usr/sbin/useradd -d /var/www/ webmaster > passwd webmaster > chown --recursive webmaster.webmaster /var/www/html/
Create database:
> echo "CREATE DATABASE lists" | mysql --password=somepass -u root
> echo "GRANT ALL PRIVILEGES ON lists.* TO 'lists_web'@'localhost'
identified by 'yyyyyy';" | \
mysql --password=somepass -u root
> echo "FLUSH PRIVILEGES" | \
mysql --password=somepass -u root
Configure firewall:
> system-config-securitylevel-tui
From the security level menus, set SELinux to disabled, then customize and allow incoming WWW and FTP.
Setup PHPList config file:
> vi /var/www/html/lists/config/config.php
In the editor, set database parameters.
In your web browser go to:
http://your.domain.com/lists/admin/
You'll be prompted to initialize the database. Follow the installation screens to complete the install process.
http://your.domain.com/lists/admin
Here's an update to this article:
The spec file has been modified to build the php-sqlite module which is needed by Plesk Sitebuilder. Here's the new package: