目錄
- 前言
- Apache簡介
- Apache的主要特點
- 一、Apache-httpd編譯安裝
- 1.1 安裝環境依賴包
- 1.2 解壓原始碼包以及apr包
- 1.3 編譯安裝Apache
- 1.4 配置啟動腳本
- 1.5 設定組態檔的軟鏈接和httpd命令的軟鏈接
- 1.6 啟動、停止Apache
- 二、Mysql編譯安裝
- 2.1 安裝Mysql環境依賴包
- 2.2 創建運行用戶
- 2.3 編譯安裝
- 2.4 資料庫目錄進行權限調整
- 2.5 調整組態檔
- 2.6 組態檔進行權限調整
- 2.7 設定環境變數
- 2.8 初始化資料庫
- 2.9 添加mysqld服務,開啟并檢查狀態
- 2.10 設定Mysql密碼
- 2.11 登錄資料庫
- 三、PHP編譯安裝
- 3.1 安裝PHP環境依賴包
- 3.2 編譯安裝PHP
- 3.3 復制模板檔案作為PHP的主組態檔,并修改其配置
- 3.4 編輯httpd的組態檔設定php的默認首頁
- 3.5 創建一個php頁面,重啟Http服務并驗證
- 3.6 測驗資料庫的連接性
前言
Apache簡介
-
“Apache HTTP Server”是開源軟體專案的杰出代表,基于標準的 HTTP 網路協議提供網頁瀏覽服務,在 Web 服務器領域中長期保持著超過半數的份額,Apache 服務器可以運行在 Linux、UNIX、Windows 等多種作業系統平臺中,
-
Apache 服務器是針對之前出現的若干個 Web 服務器程式進行整合、完善后形成的軟體,其名稱來源于“A Patchy Server”,意思是“基于原有 Web 服務程式的代碼進行修改(補丁)后形成的服務器程式”,
-
1995 年, Apache 服務程式發布了 1.0 版本,之后一直由“Apache Group”負責該專案的管理和維護;直到 1999 年,在“Apache Group”的基礎上成立了 Apache 軟體基金會 (Apache Software Foundation,ASF),目前,Apache 專案一直由 ASF 負責管理和維護,ASF 是非盈利性質的組織,最初只負責“Apache Web”服務器專案的管理,隨著 Web應用需求的不斷擴大,ASF 逐漸增加了許多與 Web 技術相關的開源軟體專案,因此 Apache現在不僅僅代表著 Web 服務器,更廣泛地代表著 ASF 管理的眾多開源軟體專案,ASF 基金會的官方網站是 http://www.apache.org/,
-
“Apache HTTP Server”是 ASF 旗下著名的軟體專案之一,其正式名稱是“httpd”,也就是歷史上的 Apache 網站服務器,在后續內容中,若未作特殊說明,使用“Apache”或者“httpd”,均指的是“Apache HTTP Server”,
Apache的主要特點
-
開放源代碼:這是 Apache 服務器的重要特性之一,也是其他特性的基礎,Apache 服務程式由全世界的眾多開發者共同維護,并且任何人都可以自由使用,這充分體現了開源軟體的精神,
-
跨平臺應用:這個特性得益于 Apache 的源代碼開放,Apache 服務器可以運行在絕大多數軟硬體平臺上,所有 UNIX 作業系統都可以運行 Apache 服務器,甚至 Apache 服務器可以良好地運行在大多數 Windows 系統平臺中,Apache 服務器的跨平臺特性使其具有被廣泛應用的條件,
-
支持各種Web 編程語言:Apache服務器可支持的網頁編程語言包括Perl、PHP、Python、Java 等,甚至微軟的 ASP 技術也可以在 Apache 服務器中使用,支持各種常用的 Web 編程語言使 Apache 具有更廣泛的應用領域,
-
模塊化設計:Apache 并沒有將所有的功能集中在單一的服務程式內部,而是盡可能地通過標準的模塊實作專有的功能,這為 Apache 服務器帶來了良好的擴展性,其他軟體開發商可以撰寫標準的模塊程式,從而添加 Apache 本身并不具有的其他功能,
-
運行非常穩定:Apache 服務器可用于構建具有大負載訪問量的 Web 站點,很多知名的企業網站都使用 Apache 作為 Web 服務軟體,
-
良好的安全性:Apache 服務器具有相對較好的安全性,這是開源軟體共同具有的特性,并且,Apache 的維護團隊會及時對已發現的漏洞提供修補程式,為 Apache 的所有使用者提供盡可能安全的服務器程式,
一、Apache-httpd編譯安裝
1.1 安裝環境依賴包
[root@localhost ~]# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl \
1.2 解壓原始碼包以及apr包
[root@localhost packages]# tar xf httpd-2.4.29.tar.bz2
[root@localhost packages]# tar xf apr-1.6.2.tar.gz
[root@localhost packages]# tar xf apr-util-1.6.0.tar.gz
[root@localhost packages]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost packages]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
1.3 編譯安裝Apache
[root@localhost packages]# cd httpd-2.4.29
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \ #指定將 httpd 服務程式安裝到哪個目錄下,如/usr/local/httpd
> --enable-so \ #啟用動態加載模塊支持,使 httpd 具備進一步擴展功能的能力
> --enable-rewrite \ #啟用網頁地址重寫功能,用于網站優化及目錄遷移維護
> --enable-charset-lite \ #啟動字符集支持,以便支持使用各種字符集編碼
> --enable-cgi \ #啟用 CGI 腳本程式支持,便于擴展網站的應用訪問能力
> --enable-deflate \
> --enable-expires
[root@localhost httpd-2.4.29]# make && make install
1.4 配置啟動腳本
[root@localhost ~]# ln -s /usr/local/httpd/bin/apachectl /usr/local/httpd
[root@localhost ~]# cd /lib/systemd/system
[root@localhost system]# vi httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/httpd/bin/apachectl $OPTIONS
ExecReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
1.5 設定組態檔的軟鏈接和httpd命令的軟鏈接
[root@localhost ~]# ln -s /usr/local/httpd/bin/apachectl /usr/local/httpd
[root@localhost ~]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
[root@localhost ~]# httpd -t
Syntax OK
1.6 啟動、停止Apache
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# netstat -anpt | grep 80
tcp6 0 0 :::80 :::* LISTEN 1267/httpd

[root@localhost ~]# systemctl stop httpd
[root@localhost ~]# netstat -anpt | grep 80
二、Mysql編譯安裝
2.1 安裝Mysql環境依賴包
[root@localhost ~]# yum -y install ncurses \
ncurses-devel \
bison \
cmake
2.2 創建運行用戶
[root@localhost ~]# useradd -s /sbin/nologin mysql
2.3 編譯安裝
[root@localhost ~]# cd /opt/packages/
[root@localhost packages]# tar xf mysql-boost-5.7.20.tar.gz
[root@localhost packages]# cd mysql-5.7.20/
[root@localhost mysql-5.7.20]#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定將 mysql 資料庫程式安裝到某目錄下,如目錄/usr/local/ mysql
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定套接字檔案的存盤路徑,資料庫連接的檔案
-DSYSCONFDIR=/etc \ #指定初始化引數檔案目錄
-DSYSTEMD_PID_DIR=/usr/local/mysql \ #指定PID目錄 #
-DDEFAULT_CHARSET=utf8 \ #指定默認使用的字符集編碼,如 utf8
-DDEFAULT_COLLATION=utf8_general_ci \ #指定默認使用的字符集校對規則,utf8_general_ci 是適用于 UTF-8 字符集的通用規則
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安裝INNOBASE存盤引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安裝ARCHIVE存盤引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安裝BLACKHOLE存盤引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ #安裝FEDERATED存盤引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \ #資料安裝路徑
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
[root@localhost mysql-5.7.20]# make && install
2.4 資料庫目錄進行權限調整
[root@localhost mysql-5.7.20]# chown -R mysql.mysql /usr/local/mysql/
2.5 調整組態檔
[root@localhost mysql-5.7.20]# vi /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
2.6 組態檔進行權限調整
[root@localhost mysql-5.7.20]# chown mysql:mysql /etc/my.cnf
2.7 設定環境變數
[root@localhost mysql-5.7.20]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@localhost mysql-5.7.20]# echo 'export PATH' >> /etc/profile
[root@localhost mysql-5.7.20]# source /etc/profile
2.8 初始化資料庫
[root@localhost mysql]# cd /usr/lib/sytemd/system
[root@localhost mysql]# bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
2.9 添加mysqld服務,開啟并檢查狀態
[root@localhost mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@localhost mysql]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
[root@localhost mysql]# systemctl start mysqld
[root@localhost mysql]# netstat -anpt | grep mysqld
tcp6 0 0 :::3306 :::* LISTEN 14232/mysqld
2.10 設定Mysql密碼
[root@localhost mysql]# mysqladmin -u root -p password
Enter password: #密碼默認為空,回車就好
New password: #密碼為qwe123
Confirm new password: #兩次密碼一致
2.11 登錄資料庫
[root@localhost mysql]mysql -uroot -pqwe123 #用戶為root,密碼為qwe123
三、PHP編譯安裝
3.1 安裝PHP環境依賴包
[root@localhost ~]# yum -y install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-deve
3.2 編譯安裝PHP
[root@localhost packages]# tar xf php-7.1.10.tar.bz2
[root@localhost packages]# cd php-7.1.10
[root@localhost php-7.1.10]# ./configure \
> --prefix=/usr/local/php \ #指定將 PHP 程式安裝到哪個目錄下
> --with-mysql-sock=/usr/local/mysql/mysql.sock \ #設定Apache服務提供的apxs模塊支持程式的檔案位置
> --with-apxs2=/usr/local/httpd/bin/apxs \ #設定Apache服務提供的apxs模塊支持程式的檔案位置
> --with-mysqli \ #mysqli擴展技術不僅可以呼叫MySQL的存盤程序、處理MySQL事務,而且還可以使訪問資料庫作業變得更加穩定
> --with-zlib \ #支持zlib功能--壓縮流
> --with-curl \ #開啟curl擴展功能
> --with-gd \ #激活gd庫的支持
> --with-jpeg-dir \ #激活jpeg的支持
> --with-png-dir \ #激活png的支持
> --with-freetype-dir \
> --with-openssl \
> --enable-mbstring \ #啟用多位元組字串功能,以便支持中文等代碼
> --enable-xml \
> --enable-session \
> --enable-ftp \
> --enable-pdo \
> --enable-tokenizer \
> --enable-zip \
> --enable-fpm #開啟php-fpm模塊
[root@localhost php-7.1.10]# make && make install
3.3 復制模板檔案作為PHP的主組態檔,并修改其配置
[root@localhost php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini
date.timezone = Asia/Shanghai #位于939行
mysqli.default_socket = /usr/local/mysql/mysql.sock #位于1170行
[root@localhost php-7.1.10]# /usr/local/php/bin/php -m #驗證安裝的模塊
3.4 編輯httpd的組態檔設定php的默認首頁
[root@localhost htdocs]# vi /etc/httpd.conf
<IfModule dir_module>
DirectoryIndex index.php index.html #在index.html前面添加index.php
</IfModule>
#添加兩行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
3.5 創建一個php頁面,重啟Http服務并驗證
[root@localhost ~]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# vi index.php
<?php
phpinfo();
?>
[root@localhost htdocs]# systemctl restart httpd

3.6 測驗資料庫的連接性
將原來的測驗網頁內容更改如下:
[root@localhost htdocs]# vi index.php
<?php
$link=mysqli_connect('localhost','root','qwe123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>

至此,LAMP搭建完成,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/187170.html
標籤:其他
上一篇:交換機基本原理與配置
