Monday, May 27, 2019

服務器架設:Debian/Ubuntu搭建LAMP教程

本文是在獨立服務器或VPS中使用Debian/Ubuntu操作系統搭建LAMP完整教程,適合初學者,本文會保持更新。

第一部分

LAMP 是Linux、Apache、MySQL、PHP的首字母縮寫,也就是在一台Linux服務器上安裝帶有PHP和Mysql支持的Apache網站服務器。

UAMP 是Ubuntu Linux、Apache、MySQL、PHP的首字母縮寫,是指在一台Ubuntu Linux服務器上安裝帶有MySQL和PHP支持的Apache網站服務器。

1. 說明

本文以BurstNET VPS主機為例,操作系統是Debian 5 / Ubuntu 10.04,獨立服務器操作方法與VPS相同。域名請做好DNS指向。

安裝前,用這個命令升級必要的軟件包:

apt-get install update

2. 安裝 Apache2 和 PHP5

Apache2 和 PHP5已經包含在 Debian/Ubuntu 軟件包中了,一般來說,系統已經默認安裝完畢。如果沒有,你可以使用下面的命令輕鬆安裝它:

apt-get install apache2 php5 libapache2-mod-php5 php5-gd php-pear php5-suhosin

系統會提示已需要安裝的版本並自動安裝,如有更新,系統會顯示需要更新的版本。

安裝 Apache 後,你可以啟動:

/etc/init.d/apache2 start

重新啟動Apache命令為:

/etc/init.d/apache2 restart

Apache 的配置文件位於: /etc/apache2/apache2.conf
Apache 的默認web文件夾在: /var/www
PHP的配置文件位於:/etc/php.ini

3. 安裝 MySQL5

執行下面的命令來安裝 MySQL:

apt-get install mysql-server mysql-client php5-mysql

然後啟動 MySQL 服務器:

/etc/init.d/mysql start

安裝完畢後我建議運行一下mysql_secure_installation來做一些基本的安全設置,它會檢查root密碼、移除anonymous帳號、禁止root遠程登錄、移除test數據庫。

運行下面的命令來為 root 用戶設置一個密碼(否則的話任何人都可以訪問你的MySQL數據庫!):

mysqladmin -u root -p password 12345678

Enter password: 輸入root密碼以確認修改,一般root初始密碼為空(上面的12345678為你想要的密碼)

使用root帳號進入mysql:

mysql -u root -p

創建數據庫:

create database site1dbname;

給新創建的數據庫制定一個用戶和密碼:

grant all on site1dbname.* to ‘site1dbuser’ identified by ‘site1dbpwd’;

重新啟動 MySQL:

/etc/init.d/mysql restart

mysql的配置文件位於:/etc/mysql/my.cnf

好了,一個LAMP 服務器搭建完成。

第二部分

增加虛擬站點配置:

vim /etc/apache2/sites-available/mysite

添加內容如下:

<VirtualHost *:80>
ServerName www.mysite.com
ServerAlias mysite.com www2.mysite.com
DocumentRoot /var/www/mysite/
</VirtualHost>

激活這個虛擬站點:

a2ensite mysite

apache2重新加載配置:

/etc/init.d/apache2 reload

如果需要添加多個虛擬機,重複上述步驟即可。

如果想啟動rewrite,需要在終端運行:

a2enmod rewrite

然後重啟Apache:

/etc/init.d/apache2 restart

實例:安裝WordPress設置固定鏈接教程
1.安裝Wget

apt-get install wget

2.進入虛擬機所在目錄

cd /var/www

3.下載WordPress到服務器並解壓

wget http://wordpress.org/latest.tar.gz
tar zxvf latest.tar.gz

4.修改WordPress目錄屬性

chmod -R 777 /var/www/wordpress
chgrp -R ftp /var/www/wordpress
chown -R www /var/www/wordpress

5.修改apache2的虛擬機配置文件(位於/etc/apache2/sites-enabled/),在<VirtualHost *:80>和</VirtualHost>中間加入下面代碼

<Directory “/var/www”>
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.html index.htm index.php
AllowOverride all
Order Deny,Allow
Allow from all
</Directory>

6.apache2重新加載配置:

/etc/init.d/apache2 reload

第三部分

1.安裝phpMyAdmin

如果你覺得使用命令行管理MySQL很不方便,可以安裝phpMyAdmin。

phpMyAdmin是一個基於web的數據庫管理軟件,在apache下很容易安裝和配置。

你所需要做的就是:

apt-get install phpmyadmin

phpmyadmin配置文件在/etc/phpmyadmin目錄。
在apache下安裝phpmyadmin,你僅需要在/etc/apache2/apache2.conf中加入以下這行:

Include /etc/phpmyadmin/apache.conf

現在重新啟動 Apache:

/etc/init.d/apache2 restart

用瀏覽器打開:http://domain/phpmyadmin 輸入用戶名密碼就可以管理MySQL數據庫了。

2.用vsftpd配置FTP服務

一般用戶都會選擇用FTP上傳的方式來管理自己的網站,所以需要配置FTP服務。

安裝vsftpd:

apt-get install vsftpd

安裝好之後,編輯配置文件/etc/vsftpd.conf:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

以上每行解釋如下:
1.禁止匿名用戶訪問ftp
2.允許本地用戶訪問ftp
3.允許寫操作
4.上載文件的時候,使用的掩碼是022

重新啟動 vsftpd:

/etc/init.d/vsftpd restart

設定FTP目錄屬性,如/var/www 目錄屬性:

chmod -R 777 /var/www

遞歸地給此目錄下所有文件和子目錄的讀、寫、執行權限

chgrp -R ftp /var/www

遞歸地把此目錄及該目錄下所有文件和子目錄的組屬性設置成ftp組

增加FTP用戶

adduser 用戶名

設定用戶密碼

passwd 用戶名

添加用戶到指定組

adduser 用戶名 組名

修改FTP用戶的上傳目錄可以修改/etc/passwd

安裝配置完畢,重新啟動 vsftpd即可:

/etc/init.d/vsftpd restart

常用參數意義,視具體情況配置:

#anonymous_enable 是否允許匿名ftp,如否則選擇NO,默認允許匿名訪問,
注意當允許是所有用戶均視為匿名登錄。
#local_enable 是否允許本地用戶訪問,是指VSFTP所在機器上的註冊用戶。
#local_umask=022 默認的umask碼
#write_enable 是否允許本地用戶修改和刪除
#local_umask=022 FTP上傳文件權限 ,默認是077
#anon_upload_enable=YES 是否允許匿名用戶上傳
#anon_mkdir_write_enable=YES 是否允許匿名用戶的寫和創建目錄的權限
#dirmessage_enable=YES 當切換目錄時,是否顯示該目錄下message隱藏文件的內容
#xferlog_enable=YES 是否激活上傳和下載的日誌
#connect_from_port_20=YES 是否啟動FTP數據端口20的連接請求
#chown_uploads=YES 是否改變上傳文件的所有者
#chown_username=whoever 改變上傳文件的所有着為whoever
#xferlog_file=/var/log/vsftpd.log 上傳/下載日誌文件所默認的路徑
#xferlog_std_format=YES 是否使用標準的ftpd xferlog日誌格式
#idle_session_timeout=600 是否將在用戶會話空閑10分鐘後被中斷
#data_connection_timeout=120 是否將在數據連接空閑2分鐘後被中斷
#nopriv_user=ftpsecure 是否運行vsftpd需要的非特殊系統用戶默認nobody
#async_abor_enable=YES 是否是否允許運行特殊的FTP命令async
#ascii_upload_enable=YES 是否啟用上傳的ascii傳輸方式
#ascii_download_enable=YES 是否啟用下載的ascii傳輸方式
#ftpd_banner=Welcome to blah FTP service. 用戶連接服務器後顯示信息
#deny_email_enable=YES 是否允許某些匿名用戶使用郵件地址(默認的)
chroot_local_user=NO
chroot_list_enable=YES

VSFTPD的文件結構是很簡潔的,主要包括:
/usr/sbin/vsftpd —- VSFTPD的主程序
/etc/init.d/vsftpd —- 啟動腳本
/etc/vsftpd.conf —- 主配置文件
/etc/pam.d/vsftpd —- PAM認證文件
/etc/ftpusers —-記錄不允許訪問FTP服務器的用戶名單
/home/ftp —-Vsftpd的根目錄
此外VSFTPD的日誌文件為/var/log/vsftpd.log。

Vsftpd的管理控制:
/etc/init.d/vsftpd start //啟動vsftpd
/etc/init.d/vsftpd stop //停止vsftpd
/etc/init.d/vsftpd restart //重新啟動vsftpd
/etc/init.d/vsftpd reload //重新導入vsftpd

更多的配置內容請訪問vsftpd的官方網站查看:
http://vsftpd.beasts.org/vsftpd_conf.html

Related Post

5 comments

  1. 我做到安裝好phpmyadmin之後,載瀏覽器中打開http://domain/phpmyadmin 就不行了.


  2. qiaodahai:

    提示什麼信息?是不是你的源有問題。

    不知道啊.
    可能是源有問題吧.

  3. 提示什麼信息?是不是你的源有問題。

  4. 我照着做到這裡就失敗了.
    apt-get install mysql-server mysql-client php5-mysql

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.