Fedora Install Document



1. start the install of Fedora on server-

insert CD and boot from it
after it loads run install Fedora on Hard drive

2. partion the drive as Follow:

1000GB /Boot

2000GB /swap

10000GB / Root

Use the rest to create a Data partion.


3. To Partition the drive- Manually do this after the reboot.

Fdisk /dev/sda

Choose ext

Then select the all the free space

Fdisk /dev/sda again

Choose primary

Select the size(+30000M)

Save it

Repeat the process.

Reboot the box


4. Create File System

under root create folder to mount the FS to the Partitions

Mkfs –t ext3 /dev/sda5

Mkdir /eji/sk/

Mount /dev/sda5/ /efi/sk/

Vi /etc/fstab 

insert at the end as below

/dev/sda5 /eji/sk ext3 defaults 0 0


5. Install the Following Apps.

Yum –y install pam* openssl* php* perl* vsftp* httpd* mysql*


6. Change the following files in /etc/rc3.d /etc/rc4.d /etc/rc5.d 

This to change the startup from killing the deamon 

mv K60vsftpd to S60vsftpd

mv K80httpd to S80httpd

mv K80sshd to S80sshd

Disable Selinux/Firewall – so that SSH can work


7. edit httpd.conf file

vi /etc/httpd/conf/httpd.conf

Remove the rm from this line

NameVirtualHost *:80

Add the following lines

<VirtualHost *:80>

ServerAdmin skhoury@optonline.net

DocumentRoot /data/web/samirkhoury/

ServerAlias www.samirkhoury.com

ServerName samirkhoury.com

ErrorLog logs/samirkhoury.com-error_log

CustomLog logs/samirkhoury.com-access_log common


<VirtualHost *:80>

ServerAdmin skhoury@optonline.net

DocumentRoot /data/web/allaboutsyria/

ServerAlias www.allaboutsyria.net

ServerName allaboutsyria.net

ErrorLog logs/allaboutsyria.net-error_log

CustomLog logs/allaboutsyria.net-access_log common


8. Download PhpMyadmin and place in the dbadmin folder.

9. Disable SSH login for root.

Vi /etc/ssh/sshd_config

#LoginGraceTime 120
PermitRootLogin no
#StrictModes yes


10. Add in rc.local file to flush the iptable.

/sbin/iptables - -flush

11. If I need to start the ftp server this is the command

/etc/init.d/vsftpd restart


12. Samba Install

13. Change owner ship to user

Chown user:user /folder





XRDP Notes

Downloaded xrdp

Run make

Run make install

Vi /etc/rc.local added /usr/local/xrdp/xrdp_control.sh start

Vi /etc/xrdp/xrdp.ini under globals changed port=1494 from 3389


Set ssh to login

set router to point to the linux box port 22

In Putty create a session with the following

Under tunnel add D8080

Port 22

Under Connection/Proxy

Proxy hostname=proxy Port=80

In firefox under connection,

manual proxy

socks host = 8080

No proxy for: 172., .cxxp.gxxxx.com, mxxf*.


14. Setup a Backup of the FS through crontab

rsync -av /web/samir/ /backup/samir

rsync -av /web/samir/ /backup/samir >/tmp/rsync.log 2>&1


NOTE: Create different DB to each site. And run the install.php file


Installing Apache, PHP, and MySQL on Fedora Core

This will install the basic components for a dynamic, database-driven web site.

1. Install Apache (httpd), PHP, MySQL (server and client), and the component that allows php to talk to mysql.

yum -y install httpd php mysql mysql-server php-mysql

2. Configure the new services to start automatically

/sbin/chkconfig httpd on

/sbin/chkconfig --add mysqld [this is not required with FC4 and above]

/sbin/chkconfig mysqld on

/sbin/service httpd start

/sbin/service mysqld start


3. IMPORTANT! Set up the mysql database root password. Without a password, ANY user on the box can login to mysql as database root. The mysql root account is a separate password from the machine root account.

mysqladmin -u root password 'new-password' [quotes are required]

4. Make additional security-related changes to mysql.

mysql -u root -p

mysql> DROP DATABASE test; [removes the test database]

mysql> DELETE FROM mysql.user WHERE user = ''; [Removes anonymous access]



5. Following the above steps, the document root for Apache is /var/www/html/

Create a test PHP script (such as phpinfo.php) and place it in the document root. A useful test script sample:




6. Create a database and database user for your data. You will use this database and user name in your database connection string. The GRANT statement actually creates a new MySQL user account.

mysql> CREATE DATABASE web_db;

mysql> GRANT ALL PRIVILEGES ON web_db.* TO 'web_user'@'localhost' IDENTIFIED BY 'thepassword';