CentOS 5.4 伺服器配置 yum安裝Apache+php+Mysql+phpmyadmin

來源:互聯網
上載者:User
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-mysql

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.20

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

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會要求輸入密碼
這樣就成功了

原文:http://www.lupaworld.com/forum.php?mod=viewthread&tid=61210&page=1 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.