1. 程式人生 > >VMware虛擬機器安裝CentOS 7並搭建lamp伺服器環境

VMware虛擬機器安裝CentOS 7並搭建lamp伺服器環境

此貼的目的是對今天的學習做一個總結、記錄,方便日後的回顧學習,同時與大家分享經驗希望能夠對跟我一樣初學Linux伺服器的同學起到幫助作用!

         首先是Linux伺服器系統的選擇,目前比較流行的系統版本有centos、Redhat、Ubuntu server等,初學者可能會在系統版本的選擇上有所糾結,實際上對於初學者來說這些系統大同小異,操作上是近乎相同的,可以根據自己的能力和實際需要進行選擇。如果有一定經濟能力建議購買Redhat收費版,對於只是用於學習研究的同學建議使用centos作為替代,centos實際上與Redhat是非常相似的,其次也可以使用Ubuntu server等作業系統,基於個人喜好。

        這裡我選擇使用centos7作業系統進行安裝演示並並通過yum命令安裝lamp環境。(yum的解釋:http://man.linuxde.net/yum)

一、CentOS7的安裝(素材資料整理自網路)

1)、通過VMware建立虛擬機器(這一步不解釋)

2)  、成功引導系統後,會出現下面的介面

        

介面說明:

Install CentOS 7 安裝CentOS 7

Test this media & install CentOS 7 測試安裝檔案並安裝CentOS 7

Troubleshooting 修復故障

這裡選擇第一項,安裝CentOS  7,回車,進入下面的介面



選擇語言:中文-簡體中文(中國)  #正式生產伺服器建議安裝英文版本


繼續


選擇-系統-安裝位置,進入磁碟分割槽介面


選擇-其它儲存選項-分割槽-我要配置分割槽,點左上角的“完成”,進入下面的介面


分割槽前先規劃好

swap #交換分割槽,一般設定為記憶體的2倍

/ #剩餘所有空間

備註:生產伺服器建議單獨再劃分一個/data分割槽存放資料


點左下角的“+”號

掛載點:swap

期望容量:2048

添加掛載點,如下圖所示


繼續點左下角的“+”號

掛載點:/

期望容量:18.43GB #剩餘所有空間

添加掛載點,如下圖所示


點左上角的“完成”,進入下面的介面



接受更改,進入下面的介面


開始安裝   #注意“軟體”-“軟體選擇”,預設是最小安裝,即不安裝桌面環境,可以自己設定。

建議選擇最小安裝即可,最小安裝方式安裝完成後開機即為命令列模式

進入下面的介面


選擇-使用者設定-ROOT密碼,進入下面的介面


設定Root密碼

如果密碼長度少於8位,會提示要按“完成”兩次來確認,安裝繼續

安裝完成之後,會進入下面的介面


點重啟


系統重新啟動


進入登入介面


賬號輸入root 回車

再輸入上面設定的root密碼回車

系統登入成功

說明:CentOS 7.0預設安裝好之後是沒有自動開啟網路連線的!因此需要我們更改配置檔案來開啟網路(虛擬機器 聯網方式選擇 橋接 方式)

用命令:cd /etc/sysconfig/network-scripts 按下 enter

然後輸入ls 按enter

會出現下面幾個檔案。我們要找的就是圖片中的箭頭所指的。

然後用文字編輯工具開啟,輸入指令vi ifcfg-eno16777736 按下enter

 會出現一些的鍵值對,而我們需要改的是箭頭所指的,表示啟用網絡卡。

然後按 i 鍵 進入編輯模式,將no 改成yes 然後按ESC鍵,再輸入 :wq (wq表示儲存並退出)

      重啟網絡卡: service network start就OK了

然後你就可以連線到網路了,可以安裝一些你需要的包了。

配置完成後可以同過ping命令測試連通性 ,例如 ping -c 10 202.108.22.5(ping 百度首頁的網址,ping次數為10次)

注:如果未指定次數將對該地址進行不間斷ping;可通過Ctrl+C終止命令

在安裝系統的過程中可能會有同學對Linux系統下的分割槽選擇有所困惑,在這裡做一個解釋,方便大家理解:

二、CentOS 7系統安裝lamp (Linux+Apache+MariaDB(取代MySQL)+PHP/PhpMyAdmin)環境

1)、安裝Apache

Apache軟體的軟體包名稱叫做httpd,因此,要安裝Apache軟體,就使用下述命令:

[[email protected] ~]# yum install httpd

當出現提示的時候一路 y +回車就OK了

wKioL1UrY0ezJ0cBAAE_1MQqSFk946.jpg

如上圖所示,安裝的Apache 軟體版本為2.4版。根據紅帽官方文件說明,RHEL 7 (或CentOS 7)上可用的Apache版本正是2.4版的。

安裝完成後,Apache是以httpd服務的形式存在的。因此,要啟動Apache並將其設定為開機啟動,就使用命令:

[[email protected] ~]# systemctl start httpd.service

[[email protected] ~]# systemctl enable httpd.service

然後,檢查httpd服務狀態:

[[email protected] ~]# systemctl status httpd.service

wKiom1UrYkGxhQZ-AAISk9Xnz2g901.jpg

如上圖所示,“enabled”表示httpd服務已設為開機啟動,“active(running)”則表示httpd服務正在執行中。

這樣的話,HTTP協議就已被啟動起來了,由於HTTP協議使用到tcp埠80,因此防火牆要放通tcp埠80:

[[email protected] ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent

重啟防火牆以讓更改立刻生效:

[[email protected] ~]# firewall-cmd --reload

使用以下命令檢查配置是否成功:

[[email protected] ~]# firewall-cmd --list-all

wKioL1UrY8OD4WHhAAB1h8uBO2s719.jpg

如上圖所示,tcp埠80已放通。

然後這個時候,就可以在物理機上使用瀏覽器來訪問剛剛搭建的web伺服器了。不過,因為這個時候還未建立任何頁面,所以它顯示的是Apache軟體自帶的測試頁面:

通過命令ip addr查詢當前系統的ip地址,得到ip地址後再物理機瀏覽器位址列輸入該ip地址

wKioL1UrY_2ikCYVAAYIK9VCOWw524.jpg

2安裝PHP

使用以下命令安裝PHP軟體:

[[email protected] ~]# yum install php

wKioL1UrZb2z59WcAAEf9VptT_8126.jpg

從上圖可以看到,安裝的PHP版本為5.4版。

安裝完成後,PHP會生成配置檔案/etc/httpd/conf.d/php.conf,因為該配置檔案在/etc/httpd/conf.d目錄下,所以它會被Apache所讀取。PHP還會生成配置檔案/etc/httpd/conf.modules.d/10-php.conf

該配置檔案也會被Apache所讀取,它的設定讓Apache可以載入PHP模組。不過,PHP軟體本身的配置檔案其實是/etc/php.ini該配置檔案也會被Apache所讀取,它的設定讓Apache可以載入PHP模組。

不過,PHP軟體本身的配置檔案其實是/etc/php.ini

(大家看一下配置檔案的介紹就好,沒有需要的話基本不用做任何修改,不過建議將php.ini中upload_max_filesize = 20M                                 //上傳檔案所允許的最大值。可按照需要進行調整  

值改的大一些,當你準備搭建一個wordpress網站時此值過小將限制你所上傳的圖片、視訊等多媒體素材的大小)

下面介紹一下配置檔案/etc/httpd/conf.d/php.conf:

<FilesMatch \.php$>                                                                                                                                       

   SetHandler application/x-httpd-php                                                                                                               

</FilesMatch>                                                                                                                                                

//<FilesMatch 正則表示式>和</FilesMatch>:檔名與正則表示式相匹配的檔案,將適用這裡設定的語句。                   

//SetHandler:強制所有匹配的檔案使用指定handler進行處理。                                                                               

AddType text/html .php                          //設定副檔名為.php的檔案的型別為text/html                                            

DirectoryIndex index.php                         //預設網頁檔名增加index.php                                                               

php_value session.save_handler"files"                                                                                                               

php_value session.save_path    "/var/lib/php/session"                                                                                        

下面介紹一下配置檔案/etc/httpd/conf.modules.d/10-php.conf:

<IfModule prefork.c>                                                                                                                                     

 LoadModule php5_module modules/libphp5.so                                                                                               

</IfModule>                                                                                                                                                  

//如果Apache使用的多處理模組(MPM)是prefork(預設),那麼Apache就會載入LoadModule指定的模組(PHP模組)       

最後,來看看配置檔案/etc/php.ini。在該檔案的開頭處,有說明針對生產環境和開發環境,有一些設定值可以進行修改,以提高PHP的效能。假設該web伺服器是用於生產環境的,將下面的這些設定值改成這樣(或確認這些設定值是這樣的):

display_errors = Off                                       //當發生錯誤時,不將錯誤資訊顯示出來(到瀏覽器上)                          

display_startup_errors = Off                               //不將PHP啟動時發生的錯誤資訊顯示出來(到瀏覽器上)                    

error_reporting = E_ALL &~E_DEPRECATED & ~E_STRICT   //這一項設定PHP會告知的錯誤或資訊型別                       

html_errors = On                                         //當PHP顯示或記錄錯誤資訊時,將該資訊格式化成HTML格式                

log_errors = On                                           //這讓PHP可以將錯誤資訊日誌記錄到日誌檔案裡                                 

ignore_repeated_errors = On                              //忽略重複的錯誤資訊                                                               

ignore_repeated_source = On                             //當忽略重複的錯誤資訊時忽略資訊源                                          

post_max_size = 25M                                      //PHP所允許的POST資料的最大值。可按照需要進行調整                    

file_uploads = On                                          //允許檔案上傳,預設為On                                                             

upload_max_filesize = 20M                                 //上傳檔案所允許的最大值。可按照需要進行調整                            

memory_limit = 128M                                     //PHP可用的最大記憶體。可按照需要進行調整                                      

然後,重啟httpd服務:

[[email protected]~]# systemctl restart httpd

為了測試Apache能不能正常呼叫PHP,在/var/www/html目錄下新建一個phpinfo.php文件,內容如下所示:

wKiom1UrZNuQIT8aAAA2jbF5zeo089.jpg

其中的<?php   ?>是PHP程式的語法,phpinfo ();則是PHP程式提供的一個函式庫,該函式庫可以顯示出你這個web伺服器的相關資訊。然後,使用瀏覽器來訪問伺服器的這個檔案,看看頁面能不能正常開啟。如果正常的話,應該可以看到下面這個頁面:

wKiom1UrZQ3CE18XAAE_1I5fZZc130.jpg

測試完後,因為這個頁面裡面的資訊還挺重要的,所以應該把phpinfo.php這個檔案刪除。

3)、安裝MariaDB(從RHEL 7開始Red Hat公司推薦使用MariaDB替換MySQL

Red Hat Enterprise Linux/CentOS 7.0 使用 MariaDB 替換 MySQL 為預設資料庫管理系統。使用如下命令安裝 MariaDB 資料庫。
  1. #yum install mariadb-server mariadb
在 CentOS 7中安裝 MariaDB

安裝 MariaDB 後,啟動資料庫守護程序並使用 mysqlsecureinstallation 指令碼來保護資料庫(設定資料庫的 root 密碼、禁止遠端 root 登入、移除測試資料庫、移除匿名使用者等)。

  1. #systemctl start mariadb
  2. # mysql_secure_installation

啟動 MariaDB 資料庫

啟動 MariaDB 資料庫

MariaDB 安全設定

MariaDB 安全設定

要測試資料庫功能,使用 root 賬戶登入 MariaDB 並用 quit 退出。

  1. mysql -u root -p
  2. MariaDB> SHOW VARIABLES;
  3. MariaDB> quit

連線 MariaDB 資料庫

連線 MariaDB 資料庫

4)、安裝PhpMyAdmin

RHEL 7.0 或者 CentOS 7.0 倉庫預設沒有提供 PhpMyAdmin 二進位制安裝包。如果你不適應使用 MySQL 命令列來管理你的資料庫,你可以通過下面的命令啟用 CentOS 7.0 rpmforge 倉庫來安裝 PhpMyAdmin。 選擇合適的源地址來安裝 到 EPEL 主頁: 找到 The newest version of ‘epel-release’ for EL7,點選開啟新頁面,複製 epel-release-7-5.noarch 的連結(數字可能有變化)。採用下面的方法直接安裝:
  1. #yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
安裝PHPMYADMIN
yum install phpmyadmin
嗯,前面已經打好基礎了,所以這裡就是這麼簡單。
配置

phpMyAdmin 的預設安裝目錄是 /usr/share/phpMyAdmin,同時會在 Apache 的配置檔案目錄中自動建立虛擬主機配置檔案 /etc/httpd/conf.d/phpMyAdmi