CentOS 5.5使用yum安裝Apache+PHP+MySQL

1、安裝centos5.5操做系統
2、系統安裝
安裝CentOS 5.5是作服務器,因此沒有用的,一律不裝;具體哪些不裝,本身看着辦吧:
3、安裝Apache+php+Mysql
用yum安裝前.先是替換爲中國CentOS5.3鏡像服務器!快速好用的yum更新源:http://www.wljcz.com/html/caozuoxitong/Linux/2009/0726/410.html 此文章有詳細的介紹,按照提供的步驟修改好更新源後,就能夠方便的用yum命令快速安裝軟件了.
 
一、更新系統內核到最新. yum -y update
安裝Apahce, PHP, Mysql, 以及php鏈接mysql庫組件
 
代碼:
yum -y install httpd php mysql mysql-server php-mysql
 
二、安裝mysql擴展
 
代碼:
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
或一次性粘貼安裝:
 
代碼:
yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql
 
三、設置mysql數據庫root賬號密碼。
 
代碼:
mysqladmin -u root password ‘newpassword’
"newpassword" 表明的是你想要設置的密碼,新安裝的mysql的root根用戶密碼默認爲空,設置密碼後可讓mysql數據庫更安全
 
代碼:
mysql -u root -p (此時會要求你輸入剛剛設置的密碼,輸入後回車便可)
mysql> DROP DATABASE test; (刪除test數據庫)
mysql> DELETE FROM mysql.user WHERE user = 」; (刪除匿名賬戶)
mysql> FLUSH PRIVILEGES; (重載權限)
 
四、按照以上的安裝方式, 配置出來的默認站點目錄爲/var/www/html/新建一個php腳本:
 
代碼:
<?php
phpinfo();
?>
4、 配置防火牆
添加容許訪問HTTP、FTP端口
 
代碼:
iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重啓iptables: service iptables restart
5、安裝phpMyAdmin
進入phpMyAdmin官方下載phpMyAdmin,3.1以上需php 5.2以上,上傳到你的網站目錄下,而後進行配置。只需幾步便可搞定。
config.sample.inc.php改名爲config.inc.php,而後打開config.inc.php文件,進行如下修改;
代碼:
// $cfg['Servers'][$i]['controluser'] = ‘pma’;
// $cfg['Servers'][$i]['controlpass'] = ‘pmapass’;
// $cfg['Servers'][$i]['pmadb'] = ‘phpmyadmin’;
// $cfg['Servers'][$i]['bookmarktable'] = ‘pma_bookmark’;
// $cfg['Servers'][$i]['relation'] = ‘pma_relation’;
// $cfg['Servers'][$i]['table_info'] = ‘pma_table_info’;
// $cfg['Servers'][$i]['table_coords'] = ‘pma_table_coords’;
// $cfg['Servers'][$i]['pdf_pages'] = ‘pma_pdf_pages’;
// $cfg['Servers'][$i]['column_info'] = ‘pma_column_info’;
// $cfg['Servers'][$i]['history'] = ‘pma_history’;
// $cfg['Servers'][$i]['designer_coords'] = ‘pma_designer_coords’;
去掉每行前面的//註釋
$cfg['blowfish_secret'] = 」; |修改成| $cfg['blowfish_secret'] = ‘http’;
$cfg['Servers'][$i]['controluser'] = ‘pma’; |把’pma’修改成你的賬號|$cfg['Servers'][$i]['controlpass'] = ‘pmapass’; |把’pmapass設置爲你的mysql登陸密碼
$cfg['blowfish_secret'] = 」; | 添加短語密碼例如:$cfg['blowfish_secret'] = ‘onohot’;
6、安裝php的擴展
代碼:
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
7、安裝apache擴展
代碼:
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
到此爲止centos5.3下的php環境基本就配置完成了,用命令啓動服務便可使用。
8、若是想升級PHP的話
說起php須要升級到5.2以上,而centos 5.x目前提供php版本爲5.1.6,
經過如下方法升級PHP到5.2比較方便,現推薦給你們。
先將如下地址導入。php

# rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitkahtml

# vi /etc/yum.repos.d/CentOS-Base.repo 增長下面信息mysql

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitkalinux

執行命令,自動升級。web

yum update php -y
yum install libmcrypt -ysql

1. 更新系統內核到最新.
[root@linuxfei ~]#yum -y update
系統更新後,若是yum安裝時提示錯誤信息,請執行如下命令修復.
[root@linuxfei ~]#rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY*
2. 安裝Apahce, PHP, Mysql, 以及php鏈接mysql庫組件
[root@linuxfei ~]#yum -y install httpd php mysql mysql-server php-mysql
//安裝mysql擴展
[root@linuxfei ~]#yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
//安裝php的擴展
[root@linuxfei ~]# yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
//安裝apache擴展
[root@linuxfei ~]#yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
一次性粘貼安裝:
[root@linuxfei ~]# yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysqlshell

3. 啓動服務配置
[root@linuxfei ~]# /sbin/chkconfig httpd on [設置apache爲自啓動]
[root@linuxfei ~]# /sbin/chkconfig –-add mysqld [mysql服務]
[root@linuxfei ~]# /sbin/chkconfig mysqld on [mysqld服務]
[root@linuxfei ~]# /sbin/service httpd start [自啓動 httpd 服務]
[root@linuxfei ~]# /sbin/service mysqld start [自啓動mysqld服務]
4.設置mysql數據庫root賬號密碼。
[root@linuxfei ~]# mysqladmin -u root password 'linuxfei'    [引號內填密碼]
[root@linuxfei ~]# mysql -u root -p               ← 經過空密碼用root登陸
Enter password:linuxfei ← 在這裏輸入密碼數據庫

Welcome to the MySQL monitor. Commands end with ; or \g. ← 確認用密碼可以成功登陸
Your MySQL connection id is 5 to server version: 4.1.20apache

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.windows

5.安裝phpmyadmin
[root@linuxfei /]# wget http://gd2.down.chinaz.com:808/數據管理/phpMyAdmin-3.tar.gz
--2010-03-23 16:38:18-- http://gd2.down.chinaz.com:808/??????/phpMyAdmin-3.x.tar.gz
Resolving gd2.down.chinaz.com... 121.11.80.154
Connecting to gd2.down.chinaz.com|121.11.80.154|:808... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4700100 (4.5M) [application/x-gzip]
Saving to: `phpMyAdmin-3.x.tar.gz'

100%[======================================>] 4,700,100    134K/s   in 37s  

2010-03-23 16:38:56 (123 KB/s) - `phpMyAdmin-3.x.tar.gz' saved [4700100/4700100]

解壓phpmyadmin

[root@centos5 /]#tar zxvf phpMyAdmin-3.x.tar.gz

[root@linuxfei /]# mv phpMyAdmin-3.3.1-all-languages /var/www/html/phpmyadmin

將解壓出來的目錄移動到/var/www目錄下並更名爲phpmyadmin

修改phpmyadmin根目錄下的config.sample.inc.php 重命名爲 config.inc.php

打開並編輯config.inc.php

$cfg['blowfish_secret'] = '';

然找到下邊這兩行 並把//去除

// $cfg['Servers'][$i]['controluser'] = 'pma';                    mysql用戶名
// $cfg['Servers'][$i]['controlpass'] = 'pmapass'              mysql密碼


apache配置

/etc/httpd/conf/httpd.conf
       最主要的配置文件,不過不少其餘的distribution都將這個文件拆成數個小文件,分別管理不一樣的參數。可是最主要配置文件仍是以這個文件名爲主。
/etc/httpd/conf.d/*.conf
    這個事CentOS的特點之一,若是你不想修改原始配置文件httpd.conf的話,那麼能夠將你本身的額外參數獨立出來,而啓動apache時,這個文件就會被讀入到主要配置文件。
/usr/lib/httpd/modules
    apache支持不少的模塊,因此您想要使用的模塊默認都放置在此目錄
/var/www/html
這裏是CentOS默認的「首頁」所在目錄。
/var/www/error
若是由於主機設置錯誤,或者是瀏覽器端要求的數據錯誤,在瀏覽器上出現的錯誤信息就已這個目錄的默認信息爲主。
/var/www/icons
提供apache的一些小圖標
/var/www/cgi-bin
默認給一些可執行的CGI程序放置的目錄
/var/log/httpd
默認apache的日誌文件都放在這裏,對於流量大的網站來講,這個目錄要很當心,由於這個文件很容易變的很大,您須要足夠的空間哦
/usr/sbin/apachectl
    這是Apache的主要執行文件,這個執行文件實際上是shell script,它能夠主動檢測系統上的一些設置值,好讓您啓動Apache時更簡單
/usr/sbin/httpd
這是主要的apache的二進制文件
/usr/bin/htpasswd
    當您想登錄某些網頁時,須要輸入帳號與密碼。那麼Apache自己就提供一個最基本的密碼保護方式。該密碼的產生就是經過這個命令實現的

至於MySQL方面,您須要知道的幾個重要目錄與文件有如下幾個:
/etc/my.cnf:這是Mysql的配置文件,包括您想要進行mysql數據庫的最佳化,或者是正對mysql進行一些額外的參數指定,均可以在這個文件裏實現
/usr/lib/mysql:這個目錄是MySQL數據庫放置的位置,當啓動任何MySQL的服務器時,請務必記得在備份時,將此目錄完整的備份下來。

另外,在PHP方面,應該瞭解如下幾個文件。
/usr/lib/httpd/modules/libphp4.so:PHP提供給apache使用的模塊,這個關係咱們可否在apache網頁上面設計php程序語言的最重要文件
/etc/httpd/conf.d/php.conf:你要不要手動將該模塊寫入Httpd.conf中呢?不須要,由於系統已經主動將php設置參數寫入到這個文件中了,而這個文件會在apache從新啓動時被讀入。
/etc/php.ini:這是PHP的主要配置文件,包括PHP能不能容許用戶上傳文件,能不能容許某些低安全性的標誌等,都在這個配置文件中設置。
/etc/php.d/mysql.ini /usr/lib/php4/mysql.so:PHP可否能夠支持MySQL接口就看這兩個文件了。這兩個文件是由php-mysql軟件提供的
/usr/bin/phpize /usr/include/php:若是您之後想要安裝相似PHP加速器可讓瀏覽速度加快的話,那麼這個文件與目錄就須要存在,不然加速器軟件無法用。

httpd.conf的基本設置
首先,你須要在/etc/hosts內須要有個一個完整的主機名,不然在重啓apache服務時,會提示找不到完整的主機名。
httpd.conf的基本設置是這樣的:

       次設置項目內的相關參數
       。。。。

例如,你想要針對首頁/var/www/html提供額外的功能,那麼能夠進行以下設置:

    Options Indexes
    ......


針對主機環境的設置項目
#vi /etc/httpd/conf/httpd.conf
ServerTokens OS
# 這個項目在告訴客戶端WWW服務器的版本和操做系統,不須要改編它
#若是你不想告訴太多的主機信息,將這個項目的OS改爲Minor

ServerRoot "/etc/httpd"
#這個是設置文件的最頂層目錄,一般使用絕對路徑,下面某些數據設置使用相對路徑時
#就是與這個目錄設置值有關的下層目錄,不須要更改它
ServerRoot
設定Apache 安裝的絕對路徑
TimeOut
設定 服務器接收至完成的最長等待時間
KeepAlive
設定服務器是否開啓連續請求功能,真實服務器通常都要開啓
Port
設定http服務的默認端口。
User/Group
設定 服務器程序的執行者與屬組,這個通常是apache

下面咱們就針對Apache作幾個實驗
1:咱們測試把默認網站目錄改到root家目錄下
新建/root/website目錄
#mkdir -p /root/website
#echo "website page" >> /root/website/index.html
#vi /etc/httpd/conf/httpd.conf
找到 DocumentRoot "/var/www/html" 這一段   //apache的根目錄
把/var/www/html 這個目錄改到 /root/website
在找到  //定義apache /var/www/html這個區域
把 /var/www/html改爲/root/website
這樣咱們就把apahce的默認路徑改掉了
而後重啓服務
#service httpd restart 
//這裏在你重啓服務的時候,可能會報錯,說找不到目錄,這個主要是因爲selinux致使的
那怎麼解決呢?有2個辦法,關掉selinux 
#setenforce 0
或者更改/root/website這個文件的selinux屬性,讓它匹配httpd這個服務器的要求
怎麼改?咱們能夠複製/var/www/html這個目錄的selinux屬性
#chcon -R --reference /var/www/html /root/website
而後在重啓服務,以後你就看到它沒有報錯了
不過你去訪問localhost的時候,會發現訪問拒絕 這是爲何呢?主要是由於你的/root的權限是750,ahache這個用戶沒有權限訪問,你須要更改掉權限,能夠這樣改
#chmod -R 755 /root
而後去訪問 發現正常了

2:基於名稱的虛擬主機
須要兩個域名解析到你的服務器,對應關係是
/var/www/server             server.example.com
/var/www/client                client.example.com
當訪問這兩個域名時,能夠分別顯示出不一樣文件裏面主頁的內容
#echo "server page" >> /var/www/server/index.html
#echo "client page" >> /var/www/client/index.html
而後咱們編輯一個配置文件
#vi /etc/httpd/conf.d/virtual.conf //記住conf.d裏面的內容也是apache的配置文件
添加以下內容:
NameVirtualHost 192.168.76.133:80

ServerName service.example.com
DocumentRoot /var/www/server

ServerName client.example.com
DocumentRoot /var/www/client

#service httpd restart
這樣基於名稱的虛擬主機就配置好了
若是你沒有DNS你能夠再你的機器上hosts文件里加記錄 linux在/etc/hosts這個文件 windows在C:\windows\system32\drivers\etc\hosts文件
加上這兩行
192.168.76.133    server.example.com
192.168.76.133    client.example.com
這樣你在去測試,就會發現訪問不一樣的域名顯示不一樣的內容了 這樣基於名稱的虛擬主機就配置好了!

3:基於IP地址的虛擬主機
先添加一個臨時網卡
#ifconfig eth0:0 192.168.76.132 //臨時使用,重啓後就會消失
而後便捷virtual.conf文件
#vi /etc/httpd/conf.d/virtual.conf
把內容修改成
#NameVirtualHost 192.168.76.133:80


ServerName service.example.com
DocumentRoot /var/www/server

ServerName client.example.com
DocumentRoot /var/www/client

讓後你在用ip訪問,發現也能顯示不一樣的內容,或者你編輯hosts文件,用域名訪問也沒問題
這樣基於IP地址的虛擬主機也成功了!

4:別名
在/etc/httpd/conf/httpd.conf里加入
Alias /test "/root/website/"    // 別名 這樣你用192.168.76.133/test訪問 也會顯示192.168.76.133的頁面
這個地方須要注意的就是/test 仍是/test/ 這個是用區別的 你用/test 那麼你訪問的時候只能用192.168.76.133/test訪問   若是你用/test/ 那麼192.168.76.133/test/訪問,而/test將不會放你訪問
忘了這裏你的先把/etc/httpd/conf.d目錄裏面剛剛設置的虛擬目錄註釋掉 否則無法訪問,是由於作了虛擬目錄,而httpd.conf裏面的設置就沒法訪問 固然能夠用localhost來訪問,其餘的訪問都不行

5:實現網頁的資源下載
首先添加別名
#vi /etc/httpd/conf/httpd.conf
在Alias /test "/root/website/" 後面加入
Alias /down "/var/ftp/pub"
讓後對/var/ftp/pub區域設置參數

     Options Indexes MultiViews
     AllowOverride None
     Order allow,deny
     Allow from all

在Options 加入 MultiViews   //沒有index時自動列出目錄文檔
而後重啓服務,這樣http://192.168.76.133/down/裏面就能夠列出/var/ftp/pub裏面的文件了,試着點一個另存爲,是否能夠下載? 呵呵 成功!

6:.htpasswd的實現
#vi /etc/httpd/conf/httpd.conf
咱們針對剛剛作的/var/ftp/pub來作
加入以下信息
Alias /down "/var/ftp/pub/"

     Options Indexes MultiViews
     AllowOverride AuthConfig
     Order allow,deny
     Allow from all


AuthType Basic
AuthName "this is test"
AuthUserFile /etc/httpd/htpasswd
Require User test

而後重啓httpd服務, 讓後生成.htpasswd用戶密碼 htpasswd -c /etc/httpd/htpasswd test 讓後去訪問192.168.76.133/down會須要密碼 這樣就成功了

相關文章
相關標籤/搜索