如果是用來蓋站的話,我還是推薦使用Nginx的。因為我以前也是Apache用戶,很多人說Nginx在處理靜態請求方面很強,而Apache在穩定性方面要強,不過我在建站的過程中還是覺得Nginx用起來方便一些。
現在市面上流行的伺服器面板大多還是使用Apache架構的,例如VestaCP、ISPConfig、BT.cn寶塔面板等,即使OneinStack、LNMP這兩個有名的Nginx一鍵安裝包也提供了LAMP模式,可以用於安裝Apache建站環境。
今天再來分享一個Apache建站環境搭建的一鍵安裝包LAMP.sh一鍵安裝包,作者為teddysun,之前的三大免費工具助你檢測VPS伺服器真偽中一鍵測試VPS性能的腳本就是出自該作者之手,而且不少的朋友一定還用過他的B#B@R一鍵安裝包。
更多的免費的伺服器控制面板可以看看我做的專題總結:伺服器控制面板榜單,更多的站長工具還有:
- 三款優秀的線上檔案管理器(目錄列表)比較-Directory Lister、h5ai和FileRun
- 三大原因讓我放棄騰訊阿里雲企業信箱-附國內外企業(網域)信箱總表
- VPS掛載國內外網盤實現免費擴容工具:Rclone,COS-Fuse及OSSFS
一、LAMP.sh安裝
LAMP 一鍵安裝套件是一個用 Linux Shell 寫的可以為 CentOS/Debian/Ubuntu 系統的 VPS 或伺服器安裝 LAMP(Linux + Apache + MySQL/MariaDB/Percona + PHP) 生產環境的 Shell 程式。
網址:https://lamp.sh/
項目:https://github.com/teddysun/lamp
1.1 安裝要求
目前LAMP.sh提供的PHP、Apache、MysqL、MariaDB等都更新至最新版,且支援Let’s Encrypt免費憑證。
系統需求
系統支援:CentOS 6+/Debian 7+/Ubuntu 12+
記憶體需求:≥ 512MB
硬碟需求:至少 5GB 以上的剩餘空間
伺服器必須設定好 軟體來源 和 可連接外網
必須具有系統 root 權限
強烈建議使用全新系統來安裝
支援組件
支援 PHP 自備幾乎所有元件
支援 MySQL、MariaDB、Percona Server資料庫
支援 Redis(可選安裝)
支援 XCache (可選安裝)
支援 Swoole (可選安裝)
支援 Memcached (可選安裝)
支援 ImageMagick (可選安裝)
支援 GraphicsMagick (可選安裝)
支援 ZendGuardLoader (可選安裝)
支援 ionCube Loader (可選安裝)
自助升級 Apache,PHP,phpMyAdmin,MySQL/MariaDB/Percona Server至最新版本
命令列新增虛擬主機(使用 lamp 指令),操作簡單
支援一鍵卸載
1.2 安裝步驟
事前準備(安裝 wget、screen、unzip,建立 screen 會話)
yum -y install wget screen git // for CentOS
apt-get -y install wget screen git // for Debian/Ubuntu
git clone 並賦予腳本執行權限
git clone https://github.com/teddysun/lamp.git
cd lamp
chmod +x *.sh
開始安裝
screen -S lamp
./lamp.sh
安裝過程中會讓你選擇Apache、PHP、MysqL等版本。
相關的組件也可以一併安裝。
最後看到如下提示就表示安裝成功了。
二、LAMP.sh使用
2.1 虛擬主機管理
LAMP.sh新增虛擬主機需要進入到指令工具手動新增。命令如下:
lamp add 创建虚拟主机
lamp del 删除虚拟主机
lamp list 列出虚拟主机
在新增的過程中會讓你綁定網域名稱、設定好資料庫帳號與密碼等,另外如果你要一鍵開啟Let’s Encrypt,需要事先將網域名稱做好DNS解析,然後在新增虛擬主機選擇Let’s Encrypt憑證選項。
這是LAMP.sh建立成功的主機,自動新增上了SSL憑證。
2.2 程式升級與目錄
如何升級:
git pull // Get latest version
./upgrade.sh // Select one to upgrade
./upgrade.sh apache // Upgrade Apache
./upgrade.sh db // Upgrade MySQL/MariaDB/Percona
./upgrade.sh php // Upgrade PHP
./upgrade.sh phpmyadmin // Upgrade phpMyAdmin
如何解除安裝
./uninstall.sh
程式目錄
MySQL 安裝目錄: /usr/local/mysql
MySQL 資料庫目錄:/usr/local/mysql/data(默認,安裝時可變更路徑)
MariaDB 安裝目錄: /usr/local/mariadb
MariaDB 資料庫目錄:/usr/local/mariadb/data(默認,安裝時可變更路徑)
Percona 安裝目錄: /usr/local/percona
Percona 資料庫目錄:/usr/local/percona/data(默認,安裝時可變更路徑)
PHP 安裝目錄: /usr/local/php
Apache 安裝目錄: /usr/local/apache
2.3 相關指令工具
MySQL 或 MariaDB 或 Percona 指令
/etc/init.d/mysqld (start|stop|restart|status)
Apache 指令
/etc/init.d/httpd (start|stop|restart|status)
Memcached 指令(可選安裝)
/etc/init.d/memcached (start|stop|restart|status)
Redis 指令(選用安裝)
/etc/init.d/redis-server (start|stop|restart|status)
網站根目錄 。預設的網站根目錄: /data/www/default。
三、LAMP.sh問題
第一個問題:無法啟用Http 2。 雖然LAMP.sh官網中說已經預設支援Http 2,但是建立好虛擬主機存取時還是Http 1.1 ,不知道為啥。
第二個問題:301重定向。 這個應該不是LAMP.sh本身的問題,如果你想要將所有的Http跳到Https,你還需要在創建好了虛擬主機後再到.Htaccess中添加301跳轉代碼。以下是一段將所有的http請求跳到Https://wzfou.com的程式碼。 (注意www請求也跳到非www中)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
</ifmodule>
四、總結
與OneinStack、LNMP這兩個腳本相比,LAMP.sh專注於提供Apache建站腳本,並且作者一直在將Apache、PHP和MysqL等最新版本和特性添加進去,基本上可以滿足大家對於Apache建站和LAMP的需要。
LAMP.sh腳本在安裝時如果RAM + Swap 的容量小於480MB 時,直接退出腳本運行,另外如果你想要一款Web面板用來與LAMP.sh配合使用,你可以試試Virtualmin/Webmin功能強大的伺服器管理面板,記得只要安裝Webmin即可。