I have been putting together a procedure for setting up Fedora Core 2 with RavenCore web based control panel. Below are my steps for quickly getting a Linux web server up and running. I expect the reader to have some Linux knowledge to complete this setup.
Why Fedora Core 2 and RavenCore?
I have been setting up web sites using web control panels for a number of years now. Although CPanel is my favorite, it adds additional costs to your monthly server fees that either passed on to you or paid by your web hosting company. In addition, you are limited to the amount of control you have of the server. It is hard to install custom applications when your web hosting plan does not give you complete shell access.
If you are interested in having complete control of your own dedicated server but want to offer your customers a simple web based control panel, then this is the blog entry for you.
There are a few free web hosting control panels such as WebMin and ISPConfig and RavenCore. I decided to build my dedicated web server with RavenCore simply because it has a simple interface and only includes the features you need.
There are many flavors of Linux that can be used as a dedicated web server. My decision to use Fedora Core 2 is simple. Most web hosting companies who sell dedicated servers use Fedora Core 2, including Godaddy.com. Similar steps should be easily carried out on your own favorite distribution if you so desire.
Note
The procedure below assumes you have a PC specifically for setting up a web server. My example uses a P3 933Mhz PC with 20GB hard drive and 512MB ram.
The following blog entry is based on information found here:
http://www.howtoforge.com/perfect_setup_fedora_core_3_p4
http://www.ravencore.com/install.txt
Download Fedora Core 2
Click here: http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/iso/
You will want to download the first two iso images. If you will be installing additional features besides what I list below then you will want to download all the iso images or the DVD image.
Install Fedora Core 2
Follow the typical directions for installing Fedora Core 2. When you get to the ‘Installation Type’ in the setup process, select ‘Server’.
Unless you know what you are doing, simply let the install automatically setup your partitions.
When you get to the page to configure your network, enter the static ip address you want to use for your server.
Firewall Configuration, I recommend not setting it up in the Install. A firewall is important, but my only task in this article is to help you setup a web server. So removing this complexity for now should be ok.
In the package group selection, only install the following package groups. There is no need to go into the details and select/unselect specific software packages. We will be installing other specific software later.
Applications
Editors
Text Based Internet
Servers
Server Config Tools
Development
Development Tools
System
Administrative Tools
Set Hostname
Setup the initial host name.
echo server1.example.com > /etc/hostname
/bin/hostname -F /etc/hostname
Install apt For Fedora
I was originally using yum to install everything. I found that using apt-get was much easier.
rpm -ivh http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/2/apt/apt-0.5.15cnc6-1.1.fc2.fr.i386.rpm
Edit the /etc/apt/sources.list and make sure the following lines are not commented out:
rpm http://ayo.freshrpms.net fedora/linux/2/i386 core updates freshrpms
rpm http://ayo.freshrpms.net fedora/linux/2/i386 tupdates
rpm-src http://ayo.freshrpms.net fedora/linux/2/i386 core updates freshrpms
rpm-src http://ayo.freshrpms.net fedora/linux/2/i386 tupdates
(may not be needed) rpm http://ayo.freshrpms.net fedora/linux/1/i386 core updates freshrpms
Update the Server
apt-get update
Install Some Useful Software
apt-get install gcc which wget bzip2 unzip zip nmap openssl lynx fileutils ncftp
DNS-Server
apt-get install bind
chkconfig –levels 235 named on
service named start
MySQL
apt-get install mysql mysql-devel mysql-server perl-DBD-MySQL perl-DBI
chkconfig –levels 235 mysqld on
service mysqld start
Apache With PHP
apt-get install httpd php mod_ssl php-mysql php-devel php-domxml php-imap php-ldap php-mysql php-odbc php-pear php-xmlrpc php-rrdtool curl curl-devel perl-libwww-perl ImageMagick distcache libc-client php-mbstring rrdtool unixODBC
chkconfig –levels 235 httpd on
service httpd start
FTP Server
apt-get install vsftpd
chkconfig –levels 235 vsftpd on
service vsftpd start
Sync with Time Server
apt-get install rdate
rdate -s 128.2.136.71
vi /var/spool/cron/root
enter 1 line: 0 3,9,15,21 * * * /usr/bin/rdate -s 128.2.136.71 | logger -t NTP
chmod 600 /var/spool/cron/root
service crond restart
E-mail Services
apt-get install dovecot perl-Digest-HMAC perl-Digest-SHA1 perl-Net-DNS perl-Time-HiRes postfix spamassassin
postconf -e ’smtpd_sasl_local_domain =’
postconf -e ’smtpd_sasl_auth_enable = yes’
postconf -e ’smtpd_sasl_security_options = noanonymous’
postconf -e ‘broken_sasl_auth_clients = yes’
postconf -e ’smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination’
postconf -e ‘inet_interfaces = all’
echo ‘pwcheck_method: saslauthd’ > /usr/lib/sasl2/smtpd.conf
echo ‘mech_list: plain login’ >> /usr/lib/sasl2/smtpd.confmkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650postconf -e ’smtpd_tls_auth_only = no’
postconf -e ’smtp_use_tls = yes’
postconf -e ’smtpd_use_tls = yes’
postconf -e ’smtp_tls_note_starttls_offer = yes’
postconf -e ’smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’
postconf -e ’smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’
postconf -e ’smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’
postconf -e ’smtpd_tls_loglevel = 1′
postconf -e ’smtpd_tls_received_header = yes’
postconf -e ’smtpd_tls_session_cache_timeout = 3600s’
postconf -e ‘tls_random_source = dev:/dev/urandom’
chkconfig –levels 235 sendmail off
service sendmail stop
chkconfig –levels 235 postfix on
chkconfig –levels 235 saslauthd on
chkconfig –levels 235 dovecot on
service postfix start
service dovecot start
service xinetd restart
RavenCore
Now, what you have all been waiting for:
rpm -Uvh http://easynews.dl.sourceforge.net/sourceforge/ravencore/ravencore-0.0.6-1.noarch.rpm
service ravencore start
Now open up your browser and go to http://servername:8000/
username: admin, password: ravencore. and have fun!











