在Ubuntu Server下配置LAMP環境


1. 下載Ubuntu Server,地址https://www.ubuntu.com/download/server

2. 在虛擬機上安裝Ubuntu Server。根據安裝引導過程一步步安裝,跟在自己電腦安裝Windows操作系統類似。安裝中會設置一個用戶名和密碼,安裝成功后顯示輸入用戶名的提示。大概是下圖中的樣子:

 

3. 一般情況下,我們會使用遠程管理工具,我這里使用的是xShell。下載xShell並安裝在自己電腦,直接百度xShell在百度軟件中心下載就行。新建連接如下圖:

填寫Name,Protocol選擇SSH,Host填寫Ubuntu Server的IP 地址(在Ubuntu Server中查看IP地址的命令為ifconfig),Port Number默認22,點擊OK后出現下圖:

New Session(2)即為剛剛新建的session,點擊connect發現連接失敗,因為Ubuntu Server還沒有下載openssh Server,在Ubuntu Server中使用如下命令下載並開啟SSH服務:

  更新軟件列表:sudo apt-get update 

  安裝openssh:sudo apt-get install openssh-server

  啟動服務:/etc/init.d/ssh start

  本機測試是否能夠成功登錄:ssh -l 用戶名 本機ip

此時再connect即可成功,如下圖:

4. 安裝Apache服務器

  在Xshell中輸入命令: sudo apt-get install apache2

  這個時候遇到一個錯誤:E:could not get lock /var/lib/dpkg/lock -open

  原因是:可能是有另外一個程序正在運行,導致資源被鎖不可用。而導致資源被鎖的原因,可能是上次安裝時沒正常完成,而導致出現此狀況。

  解決辦法是:

    sudo rm /var/cache/apt/archives/lock

    sudo rm /var/lib/dpkg/lock

  再重新安裝即可成功。

  在XShell輸入命令:apache2 -v

  如果出現以下提示說明安裝成功:

  

  再在瀏覽器中測試下,在地址欄中輸入Ubuntu Server的IP地址,出現以下頁面:

  

 

5. 安裝PHP

  在XShell輸入命令:sudo apt-get install php

  安裝完成后輸入命令檢驗是否安裝成功:php -v

  顯示如下版本信息即為安裝成功:

  

  檢驗Apache是否可以調用php命令:cat /etc/apache2/mods-enabled/php.load

  出現如下錯誤提示信息

  

  輸入命令:sudo apt-get install libapache2-mod-php 后,再輸入命令cat /etc/apache2/mods-enabled/php7.0.load,不過卻提示和PHP5有沖突,這個先不管,截圖如下

   

  注意:由於前面的提示信息是找不到php.load這個文件,所以我進入到相應文件夾去看了下,確實沒有這個文件,在輸入命令sudo apt-get install libapache2-mod-php后,我再到文件夾里面去看后,有php.7.0.load這個文件。所以我將命令稍作修改:cat /etc/apache2/mods-enabled/php7.0.load

6. 安裝MySQL

  輸入命令:sudo apt-get install mysql-server

  中途會出現設置MySQL administrator密碼的提示。

  安裝MySQL的擴展:sudo apt-get install php-mysql

  之后輸入命令:cat /etc/php/7.0/mods-available/mysqli.ini

  出現下圖的提示信息說明PHP和MySQL之間的連接好了(PHP版本不同命令會不同,研究了好久才研究出來,我參照的視頻里面安裝的是php5,命令是:cat /etc/php5/conf.d/mysql.ini)

  

7. 安裝完畢。重啟MySQL,Apache,命令是:

  sudo service mysql restart

  sudo service apache2 restart

  tip:安裝LAMP系統的Apache,MySQL,PHP也可以使用一條命令:

    sudo apt-get install apache2 php mysql-server php-mysql

  或者sudo tasksel  install lamp-server

8. 創建phpinfo服務器探針

  cd /var/www/html

  vim info.php

  進入info.php文件后輸入代碼如下:

 

  <?php
phpinfo();
?>

 

  編輯文件,保存退出,到瀏覽器輸入ip/info.php可以顯示如下內容。(IP為Ubuntu server IP地址)

  

 

  修改info.php文件代碼為:

  

  Note:塗掉的是MySQL安裝時輸入的admin用戶密碼

     按insert或者I進入到編輯模式,按ESC退出編輯模式,再按:wq,即保存退出;q!強制退出。

 

     編輯文件,保存退出,到瀏覽器輸入ip/info.php可以顯示如下內容。

  

 

  還可以安裝一些php的擴展,如php7.0-gd,安裝好后可在測試頁面看到:

  

 

9. 一些Linux命令:

  修改時區為上海:root@yaoxiao:/etc# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  設置代理 

   1)通過export http代理使用apt-get(臨時有效)

        在使用apt-get之前,在終端中輸入以下命令

        export http_proxy=http://proxy_addr:proxy_port

        取消代理使用

        export http_proxy=""

   2)apt.conf文件中配置http代理信息(永久有效)

        sudo gedit /etc/apt/apt.conf在您的apt.conf文件中加入下面這行

        Acquire::http::Proxy "http://proxy_addr:proxy_port";

        保存apt.conf文件即可

   3).bashrc文件中配置代理信息(apt-get, wget 等等)(全局有效)

        gedit ~/.bashrc 在.bashrc文件末尾添加如下內容

        export http_proxy="http://proxy_addr:proxy_port"

        保存文件,重新開啟終端。

    復制文件:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 語法:cp {源文件} {目標文件}

10. 使用filezilla管理Linux服務器上的文件

  首先下載filezilla,配置:

  

   可能會遇到無法連接到root用戶,解決辦法如下:

   進入到配置文件  vim /etc/ssh/sshd_config

   修改  permitrootlogin:yes

   重啟ssh服務  service ssh restart

11. 手動配置DNS

  進入到配置文件hosts: sudo vim /etc/hosts 

  在文件底部添加你需要的項,格式: <IP> <HOSTNAME>.<DOMAIN> <ALIAS>  

          示例: 192.168.190.130 video.imooc.com

             192.168.190.130 bbs.imooc.com

             192.168.190.130 oa.imooc.com

  完成后保存退出,重啟網絡:sudo /etc/init.d/networking restart

  到瀏覽器中輸入video.imooc.com等三個域名檢驗,發現跟輸入192.168.190.130指向同一個頁面。最開始設置好以后在自己電腦上怎么也打不開“It Works”頁面,后來發現在Windows客戶端查看的話要設置Windows端的hosts文件:打開C:\Windows\System32\drivers\etc\hosts,加入三台虛擬主機的配置:192.168.190.130 video.imooc.com。

 12. 用xshell遠程連接到Ubuntu服務器創建虛擬主機文件

      (1)批量創建文件夾:sudo mkdir -p /var/www/html/{video,bbs,oa}

      (2)創建完文件夾后分別為這三個文件夾創建示例文件:

        d /video/

        sudo vim index.html

      (3) 編輯文件:“Welcome to Video Site”

    重復(2)(3)兩步給bbs、oa創建示例文件。

  (5)創建虛擬主機文件:

    默認情況下,apache有一個默認的虛擬主機文件叫000-default.conf。我們將會復制000-default.conf文件內容到我們新的虛擬主機配置文件中。

    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/video.local.conf

    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/bbs.local.conf

    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/oa.local.conf

  (6)修改虛擬主機文件

    確保虛擬主機配置文件末尾包含.conf擴展名。現在,修改video.local.conf文件以符合需求:

    sudo vi /etc/apache2/sites-available/video.local.conf

    修改后的文件如下:

 

<VirtualHost *:80>

    # The ServerName directive sets the request scheme, hostname and port that

    # the server uses to identify itself. This is used when creating

    # redirection URLs. In the context of virtual hosts, the ServerName

    # specifies what hostname must appear in the request's Host: header to

    # match this virtual host. For the default virtual host (this file) this

    # value is not decisive as it is used as a last resort host regardless.

    # However, you must set it for any further virtual host explicitly.

    #ServerName www.example.com

    ServerAdmin webmaster@video.local
    ServerName video.imooc.com
    DocumentRoot /var/www/html/video/public_html

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,

    # error, crit, alert, emerg.

    # It is also possible to configure the loglevel for particular

    # modules, e.g.

    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are

    # enabled or disabled at a global level, it is possible to

    # include a line for only one particular virtual host. For example the

    # following line enables the CGI configuration for this host only

    # after it has been globally disabled with "a2disconf".

    #Include conf-available/serve-cgi-bin.conf

    </VirtualHost>

 

    重復(6)步驟修改bbs.local.conf  oa.local.conf

    (7)修改虛擬主機文件后,禁用默認的虛擬主機配置(000.default.conf),然后啟用新的虛擬主機配置,如下所示。

    sudo a2dissite 000-default.conf

    sudo a2ensite video.local.conf

    sudo a2ensite bbs.local.conf

    sudo a2ensite oa.local.conf

    (8)重啟Apache服務器,測試網頁

    sudo service apache2 restart

    打開地址video.imooc.com bbs.imooc.com oa.imooc.com,頁面如下:

    

 13. MySQL數據存儲目錄遷移:

(1)停止數據庫服務:sudo service mysql stop

(2)創建與MySQL文件夾權限一致的文件夾(一般是掛載硬盤,但目前學習階段沒有掛載硬盤)來存放備份:sudo mkdir /mysqldata

 

(3)修改mysqldata文件夾屬性:sudo chown -vR mysql:mysql /mysqlcopy/mysql/

(4)修改mysqldata文件夾權限:sudo chmod -vR 700 /mysqlcopy/mysql/

(5)切換到root賬戶:su

(6)復制:cp -av /var/lib/mysql/* /mysqlcopy/mysql/

(7)退出root賬戶:exit(或Ctrl+D)

(8)修改MySQL配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

輸入/datadir(在文件中查找字符)找到MySQL的默認數據存放文件夾,修改為指向剛剛創建的/mysqlcopy/mysql/文件夾。

14. 安裝phpmyadmin

phpmyadmin是非常流行的MySQL管理工具,有兩種方式安裝:

(1)使用apt-get安裝,然后創建一個軟連接

  sudo apt-get install phpmyadmin

  sudo ln -s /usr/share/phpmyadmin/ /var/www/html/pma

(2)下載好phpmyadmin安裝包,然后使用filezilla將安裝包拖到 /var/www/html/ 下面

使用第二種方式安裝完成后,打開http://192.168.190.130/pma/試驗一下是否安裝成功。提示有如下錯誤。

 安裝php-mbstring即可解決:sudo apt-get install php-mbstring

 15. MySql遠程訪問

 輸入用戶名,選擇權限后,新增用戶成功。重啟MySQL 服務。

用Navicat Premium遠程連接,此時不能成功,我們需要修改如下文件:

  sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

  注釋掉 bind-address:127.0.0.1

此時連接成功。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM