標籤:

個人雲伺服器建設——(2)Ubuntu16.04安裝LAMP(LInux,Apache,MySQL,PHP)

介紹

完成伺服器的基本配置後,如果要架設個人網站,還需要安裝一些基本的組件。架設網站通常可以使用PHP,JSP,ASP或者Python等,其中PHP最為常見,也是被稱為「最好的語言」(不要當真,Python才是最好的語言)。PHP相比JSP,ASP等在搭建網站方面使用都要廣泛的多,如果需要進一步研究,上手也比較快,基於PHP的Wordpress也是應用嘴廣泛的博客系統之一,不僅用於個人博客建站,很多企業與機構也都有使用。而WordPress的架設平台最好的配置之一就是LAMP。

所謂LAMP並不是指一個軟體,而是Linux,Apache,Mysql和PHP的縮寫(程序員可能是最喜歡創造縮寫詞的群體了吧),也就是在Linux下採用Apache網路引擎和MySQL資料庫,使用PHP語言搭建網站的整個環境。類似的,在Windows系統下這一套環境叫做WAMP,而更有一套跨平台的解決方案叫做XAMPP,其中X指的可以跨平台用於Windows,Linux或者MacOS,而最後一個P則是增加了對Perl語言的支持。Ubuntu作為最受歡迎的Linux發行版本之一,對LAMP的支持也是相當成熟的。

安裝Apache

安裝

安裝Apache可以通過Ubuntu內置的apt-get命令,具體要安裝的是apache2

sudo apt-get updatensudo apt-get install apache2n

安裝完成後,還需要設置一下主機的域名或者ip地址才可以。關於域名的解析可以參考相關的文章,如果暫時沒有域名,只要添加運營商提供的ip地址即可。

通過nano或者vim打開apache的配置文件,並在最下方添加下IP信息。

sudo nano /etc/apache2/apache2.confn

在文件中找到或添加下面一行。

ServerName (伺服器的域名或者IP地址)n

修改並保存後,可以通過下列命令重啟Apache服務,並進行測試

sudo systemctl restart apache2nsudo apache2ctl configtestn

配置防火牆

檢查防火牆狀態

sudo ufw listn

如果沒有意外,可以看到Apache Full和OpenSSH服務需要通過防火牆,檢查apache的狀態。

sudo ufw app info "Apache Full"n

可以看到默認使用 80,443/tcp 埠和協議。在防火牆打開Apache入站規則(只有這樣別人才能訪問到你的網站)。

sudo ufw allow in "Apache Full"n

在瀏覽器中輸入你的域名或者IP地址,就能看到Apache的默認頁面了。如果提示打不開或者找不到頁面,可以檢查一下上述步驟是否正確。對於阿里雲的雲伺服器,也可能因為伺服器安全規則組裡面沒有打開相應埠,這就需要參考相關雲伺服器手冊配置一下安全組規則才可以。

也可以在命令行通過curl指令進行網路檢查,這需要先安裝curl包,這也是ubuntu下很有用的包。

sudo apt-get install curlncurl http://你的ip地址n

安裝MySQL

由於鼎鼎有名的發明了Java語言的Sun公司不小心被資料庫巨頭Oracle收購,而在此之前MySQL又被Sun公司收購,這就導致原本在開源界最有影響力的MySQL直接成了競爭對手商業資料庫Oracle(甲骨文)的旗下產品,雖然Oracle仍然繼續提供MySQL的社區版,但MySQL的影響力正在逐步下降了。原MySQL的創建人新建了一個以自己女兒命名的MariaDB項目,這個項目在前期完全與MySQL兼容,所以下面安裝和配置MySQL的命令,基本也都可以用在MarialDB中,但最新版本的MarialDB與MySQL已經不再完全兼容,所以可能會存在一些未知的兼容性問題。不過從長遠來看,MariaDB最近拿到了阿里的融資,應該能夠持續發力,有望趕超MySQL。

閑話少敘。在Ubuntu下安裝MySQL或者MariaDB都很方便

sudo apt-get install mysql-servern或者nsudo apt-get install mariadb-servern

安裝過程中會提示輸入root用戶(是資料庫的root用戶,不是操作系統的)的密碼,仍然建議使用強密碼,任何時候都建議使用強密碼,不要問我為什麼

安裝完成後通過下列命令登陸資料庫。

mysql -u root -pn

進入mysql命令行系統,系統提示符會變成>。注意,MySQL下所有命令必須通過;結尾,這跟直接在shell裡面輸入命令是不同的

和系統管理有關的mysql幾個常用命令如下:

SHOW DATABASES; 顯示所有資料庫nCREATE DATABASE wordpressdb;新建一個資料庫,名為wordpressdbnDROP DATABASE wordpressdb;刪除一個資料庫nCREATE USER wordpressuser@localhost IDENTIFIED BY password; 新建一個本地用戶wordpressuser,通過密碼驗證,要把password換成自己的密碼。nGRANT ALL PRIVILEGES ON wordpressdb.* TO wordpressuser@localhost; 賦予wordpressuser用戶wordpressdb的所有許可權。n

最重要的一個指令,

FLUSH PRIVILEGES;n

執行完每個操作後,盡量都通過FLUSH PRIVILEGES指令更新一些資料庫許可權,保證許可權寫入進去,否則可能發現該建立的資料庫或者用戶沒有建立起來。如果發現建立用戶或者資料庫abc不成功,一個解決方案是假設已經建成功了abc,先使用drop命令刪除掉abc,然後flush privileges,然後重新建立,再flush privileges.

最後,操作完mysql之後通過exit;命令退出mysql環境,回到shell環境下。

為了提高資料庫安全性,可以運行一次安全安裝,安裝一個VALIDATE PASSWORD PLUGIN的插件。

mysql_secure_installationn

安裝過程中會提示是否要安裝VALIDATE PASSWORD PLUGIN選y,提示選擇密碼安全等級,推薦選1或者2。然後可以禁止掉root遠程訪問資料庫的許可權以保證安全,並且按照提示刪除匿名訪問的許可權和test資料庫。

安裝PHP

PHP安裝可以通過下面的命令

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysqln

因為我們安裝了PHP,就要把apache裡面檢測首頁的順序調換一下。打開apache目錄配置文件。

sudo nano /etc/apache2/mods-enabled/dir.confn

找到下面內容,並且把index.php 挪到index.html前面,在保存並關閉文件。

<IfModule mod_dir.c>n DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htmn</IfModule>n

通過命令行重啟apache並檢查狀態

sudo systemctl restart apache2nsudo systemctl status apache2n

安裝PHP模塊

可以通過下列命令搜索所有的php模塊,

apt-cache search php-|lessn

如果要顯示某個模塊的詳情,用show命令,安裝也可以通過apt-get命令,比如檢查並安裝php-cli模塊

apt-cache show php-clinsudo apt-get install php-clin

檢查PHP安裝情況

在apache目錄下新建一個info.php文件

sudo nano /var/www/html/info.phpn

文件裡面寫入下列內容

<?phpnphpinfo();n?>n

在瀏覽器訪問

http://(ip地址或域名)/info.phpn

如果可以看到php的版本狀態,證明安裝成功。驗證成功後務必刪除info.php文件以保證系統安全。


推薦閱讀:

煉丹爐(3)--常用軟體安裝

TAG:LAMP | Ubuntu | Linux |