[Manual] Setting up hosting server with Ubuntu 10.10
We assume that already installed apache2 with php and vsftpd
Now let’s create xyz.com site
1. Creating user for ftp access
adduser xyz
2. Createing home directory for site
mkdir /home/xyz/www
3. Setting permissions and owner for home directory
chown xyz:www-data /home/xyz/www chmod 750 /home/xyz/www
4. Create Virtual Directory File
vim /etc/apache2/sites-available/xyz.com
Insert Into File
<VirtualHost *:80> DocumentRoot /home/xyz/www/ ServerName xyz.com ServerAlias www.xyz.com </VirtualHost>
5. Enable Virtual directory
ln -s /etc/apache2/sites-available/xyz.com /etc/apache2/sites-enabled/xyz.com
6. Restart apache server
service apache2 restart
7. Setting up firewall with iptables
Create firewall file
vim /etc/firewall.sh
Write firewall rules inside file
#!/bin/sh IPT="/sbin/iptables" # Allow outgoing traffic and disallow any passthroughs $IPT -P INPUT DROP $IPT -P OUTPUT ACCEPT $IPT -P FORWARD DROP $IPT -A OUTPUT -j LOG $IPT -A INPUT -j LOG $IPT -A FORWARD -j LOG $IPT -F $IPT -X $IPT -t nat -F $IPT -t nat -X $IPT -t mangle -F $IPT -t mangle -X # Allow traffic already established to continue $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Allow ssh, dns, ldap, ftp and web services #$IPT -A INPUT -p tcp --dport ssh -i eth0 -j ACCEPT #$IPT -A INPUT -p tcp --dport domain -i eth0 -j ACCEPT #$IPT -A INPUT -p tcp --dport ldap -i eth0 -j ACCEPT #$IPT -A INPUT -p udp --dport ldap -i eth0 -j ACCEPT $IPT -A INPUT -p tcp --dport ftp -i eth0 -j ACCEPT $IPT -A INPUT -p udp --dport ftp -i eth0 -j ACCEPT $IPT -A INPUT -p tcp --dport ftp-data -i eth0 -j ACCEPT $IPT -A INPUT -p udp --dport ftp-data -i eth0 -j ACCEPT $IPT -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT #$IPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT # Allow local loopback services $IPT -A INPUT -i lo -j ACCEPT # Allow all from and to Your Network $IPT -A INPUT -j ACCEPT -p all -s xxx.zzz.yyy.nnn/28
Make file executable
sudo chmod +x /etc/firewall.sh
Enable IPTables to load on system boot
echo "pre-up /etc/firewall.sh" >> /etc/network/interfaces
8. Testing
Create index.php file write following inside
<?php phpinfo(); ?>
and upload inside site root directory via ftp
Browse site with browser – xyz.com or www.xyz.com
Author: Gevorg G. Harutyunyan