1. 程式人生 > >ubuntu16.04 lamp webserver 伺服器搭建

ubuntu16.04 lamp webserver 伺服器搭建

搭建Ubuntu lamp 系統:

MariaDB/MySQL

備註:MariaDB是從MySQL複製而來的,出自同一個開發團隊,因此也完全相容MySQL,但擁有一些新特性和更好的效能。所以選擇安裝MariaDB;
執行安裝命令:

apt-get -y install mariadb-server mariadb-client

然後設定root密碼等:

mysql_secure_installation

出現下列選擇項:

Enter current password for root (enter for none): <-- press enter
Set root password? [Y/n] <-- y
New password: <-- Enter the new MariaDB root password here
Re-enter new password: <-- Repeat the password
Remove anonymous users? [Y/n] <-- y Disallow root login remotely? [Y/n] <-- y Reload privilege tables now? [Y/n] <-- y

嘗試登陸MariaDB進行驗證:

mysql -u root -p

退出MariaDB終端,輸入quit,按Enter;

安裝Apache2.4

執行安裝命令:

apt-get -y install apache2

安裝完成後,可以在瀏覽器中輸入:localhost進行驗證;
Apache 的預設虛擬主目錄為:/var/www/html
主配置檔案為:/etc/apache2/apache2.conf.

安裝PHP7

執行以下安裝命令

apt-get -y install php7.0 libapache2-mod-php7.0

然後重啟Apache

systemctl restart apache2

通過PHPinfo測試是安裝成功

建立測試檔案:/var/www/html/info.php
內容為:<?php  phpinfo(); ?>
通過在瀏覽器中檢視:localhost/info.php
![info.php](https://img-blog.csdn.net/20170125003859093?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXVzdGluZGV2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

要讓PHP支援MySQL,我們還得安裝php7.0-mysql包,同樣我們一起安裝上其他必要的模組

apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache  php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettext

重啟Apache,重新檢視PHPinfo資訊,確認是否已經支援;

安裝APCu 加速PHP

apt-get -y install php-apcu

安裝PHP5.6

如果需要切換PHP版本,必須先刪除環境中已有的PHP

sudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`

然後開始安裝

新增 PPA
add-apt-repository ppa:ondrej/php
sudo apt-get update
apt-get -y install php5.6 libapache2-mod-php5.6 

配置PHP支援MySQL/MariaDB模組

apt-get -y install php5.6-mysql php5.6-curl php5.6-gd php5.6-intl php-pear php-imagick php5.6-imap php5.6-mcrypt php-memcache  php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-mbstring php-gettext

配置VSFTPD

配置ssh-sftp

  1. 安裝OpenSSH伺服器
sudo apt-get install openssh-server
  1. 為SFTP訪問建立使用者組,便於管理許可權
sudo addgroup sftp-users
  1. 建立SFTP使用者,並配置相應許可權
sudo adduser austin
sudo usermod -G sftp-users -s /bin/false austin  
//將austin從所有其他使用者組中移除並加入到sftp-users組,並且關閉其Shell訪問
  1. 建立SSH使用者組,並把管理員加入到該組
sudo addgroup ssh-users 
sudo usermod -a -G ssh-users admin  \\-a引數的意思是不從其他使用者組用移除
sudo usermod -a -G ssh-users root \\額外增加root使用者ssh訪問
  1. 準備“監獄”的根目錄及共享目錄
sudo mkdir /home/sftp_root
sudo mkdir /home/sftp_root/shared
sudo chown admin:sftp-users /home/sftp_root/shared
sudo chmod 770 /home/sftp_root/shared
  1. 修改SSH配置檔案
AllowGroups ssh-users sftp-users
Match Group sftp-users
    ChrootDirectory /home/sftp_root
    AllowTcpForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

這些內容的意思是:
只允許ssh-uers及sftp-users通過SSH訪問系統;
針對sftp-users使用者,額外增加一些設定:將“/home/sftp_root”設定為該組使用者的系統根目錄(因此它們將不能訪問該目錄之外的其他系統檔案);禁止TCP Forwarding和X11 Forwarding;強制該組使用者僅僅使用SFTP。

  1. 重啟系統生效

安裝 phpMyAdmin

phpMyAdmin是一個網頁管理MySQL的工具,方便使用
執行以下安裝命令:

apt-get -y install phpmyadmin

出現下列選擇項:

Web server to configure automatically: <-- Select the option: apache2
Configure database for phpmyadmin with dbconfig-common? <-- Yes
MySQL application password for phpmyadmin: <-- Press enter, apt will create a random password automatically.

MariaDB unix_socket外掛,可以阻止遠端的root 使用者訪問,以及TCP連線,我們在這裡把這個使能關掉,執行以下命令:

echo "update user set plugin='' where User='root'; flush privileges;" | mysql -u root -p mysql

然後在var/www/html/目錄下建立phpmyadmin軟連線
執行以下命令:

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

修改Apache配置檔案包含phpmyadmin配置檔案:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin.conf
sudo service apache2 reload

通過瀏覽器訪問localhost/phpmyadmin/進行驗證;
phpmyadmin
一切順利,搭建完畢!!!