??博主許久不更,最近在準備考試,LAMP目前最為成熟的一種企業網站應用模式,可提供動態Web站點應用及開發環境,以下就是博主搭建的整個環境,斷斷續續準備了好久,
目錄
- 源代碼編譯
- 一:LAMP平臺概述
- 1.1:什么是LAMP
- 1.2:構成組件
- 1.3:LAMP的優勢
- 二:Apache服務安裝
- 2.1:apache軟體包及依賴包準備
- 2.2:安裝編譯器和其他工具
- 2.3:configure配置
- 2.4:make編譯和make install
- 2.5:優化執行路徑
- 2.6:配置啟動腳本
- 2.7:編輯組態檔
- 2.8:重啟httpd服務
- 2.9: 客戶機測驗訪問html頁面
- 三:MYSQL服務安裝
- 3.1:MySQL概述
- 3.2:原始碼編譯安裝程序
- 3.3:配置cmake
- 3.4:make編譯和make install
- 3.5:資料庫目錄進行權限調整
- 3.6:建立調整組態檔
- 3.7:設定環境變數
- 3.8:初始化資料庫
- 3.9:啟動服務
- 3.10:測驗mysql
- 四:PHP服務安裝
- 4.1:PHP概述
- 4.1:首先配置安裝環境
- 4.3:配置configre
- 4.4:make編譯和make install
- 4.5:編輯組態檔
- 4.6:重啟服務并測驗PHP頁面
- 五:搭建一個phpMyAdmin
- 5.1:PHPMyAdmin概述
- 5.2:tar解壓
- 5.3:修改組態檔
- 5.4:測驗網頁
源代碼編譯
一般來說,我們軟體的安裝方式有 yum (rpm),和原始碼編譯兩種方式,選擇原始碼編譯安裝軟體有以下幾個原因:
- 滿足不同的運行平臺,我們Linux發型版本眾多,但是每個版本采用的軟體或者內核版本都不一樣,而我們的二進制包所依賴的環境不一定能夠正常運行,所以大部分軟體直接提供原始碼!
- 方便定制,滿足需求,很多時候我們所需要的軟體都是可以定制的,我需要什么就安裝什么,大多數二進制代碼都是一鍵裝全,所以自由度并不高!
- 方便運維、開發人員維護,我們的原始碼是可以打包二進制的,但是對于這個軟體的打包都會有一份代價不小的額外作業,包括維護,所以如果是原始碼的話,軟體產商會直接維護,但是如果是二進制的話,一般都是Linux發行商提供
一:LAMP平臺概述
1.1:什么是LAMP
LAMP 是指Linux(作業系統)+ Apache (HTTP 服務器)+ MySQL(資料庫)和 PHP(網路編程語言)目前最為成熟的一種企業網站應用模式,可提供動態Web
1.2:構成組件
Linux、Apache、 MySQL、PHP/Perl/Python
1.3:LAMP的優勢
-
成本低廉
-
可定制、易于開發
-
方便易用、安全和穩定

二:Apache服務安裝
以下為本次實驗的環境
2.1:apache軟體包及依賴包準備
####編譯安裝HTTP服務####
#####安裝Apache所需軟體#####
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.gz
#apr-1.6.2.tar.gz、apr-util-1.6.0.tar.gz(工具)是跨平臺的組件包
http://apache.org/dyn/closer.cgi
通過Xftp 匯入檔案到/opt目錄下

[root@server4 ~]# cd /opt/
[root@server4 opt]# ll
總用量 8020
-rw-r--r--. 1 root root 1071074 10月 8 18:46 apr-1.6.2.tar.gz
-rw-r--r--. 1 root root 565507 10月 8 18:46 apr-util-1.6.0.tar.gz
-rw-r--r--. 1 root root 6567926 10月 8 18:46 httpd-2.4.29.tar.bz2
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
apr-1.6.2.tar.gz //MAC記錄與埠掃描腳本
apr-util-1.6.0.tar.gz //pxe.txt
httpd-2.4.29.tar.bz2 //開發系統監控腳本.txt
[root@server4 opt]# tar xf apr-1.6.2.tar.gz
[root@server4 opt]# tar xf apr-util-1.6.0.tar.gz
[root@server4 opt]# tar xf httpd-2.4.29.tar.bz2
#將跨平臺的組件包移動到原始碼包目錄下去執行里面的功能
[root@server4 opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@server4 opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@server4 opt]# ls httpd-2.4.29/srclib/
apr apr-util Makefile.in
2.2:安裝編譯器和其他工具
手工安裝要預先裝環境
gcc ###C語言的編譯器
gcc-c++ ###C++的編譯器
make ###源代碼編譯(源代碼轉換成二進制檔案)
pcre-devel ###支持正則運算式
expat-devel ###網站決議HTML檔案
perl ###perl編譯器
[root@server4 opt]# yum -y install \
> gcc \
> gcc-c++ \
> make \
> pcre-devel \
> expat-devel \
> perl
#省略內容
2.3:configure配置
[root@localhost opt]# cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \ #指定將 httpd 服務程式安裝到哪個目錄下,如/usr/local/httpd
--enable-so \ #啟用動態加載模塊支持,使 httpd 具備進一步擴展功能的能力,
--enable-rewrite \ #啟用網頁地址重寫功能,用于網站優化及目錄遷移維護,
--enable-charset-lite \ #啟動字符集支持,以便支持使用各種字符集編碼
--enable-cgi #啟用 CGI 腳本程式支持,便于擴展網站的應用訪問能力,
2.4:make編譯和make install
make && make install #時間較長,可以先make -j3 然后make install -j3是你核心數,最大不要超過虛擬機的核心數
2.5:優化執行路徑
[root@server4 httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@server4 httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@server4 ~]# httpd -v #查看HTTP版本
Server version: Apache/2.4.29 (Unix)
Server built: Oct 8 2020 19:49:11
2.6:配置啟動腳本
[root@server4 httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@server4 httpd-2.4.29]# vi /etc/init.d/httpd
添加下面兩行
# chkconfig: 35 85 21 #35級別自動運行 第85個啟動 第21個關閉
# description: Apache is a World Wide Web server
chkconfig --add httpd #添加為系統服務
chkconfig --list httpd #查看http服務自啟狀態 該輸出結果只顯示Sysv服務,
#并不包含原生 systemd 服務,SysV 配置資料可能被原生 systemd 配置覆寫
2.7:編輯組態檔
[root@server4 httpd-2.4.29]# vi /etc/httpd.conf
ServerName www.tom.com:80 #更改域名
2.8:重啟httpd服務
[root@server4 ~]# systemctl restart httpd
[root@server4 ~]# netstat -anpt | grep httpd
tcp6 0 0 :::80 :::* LISTEN 121903/httpd
2.9: 客戶機測驗訪問html頁面
客戶機添加映射
- Linux系統
[root@server3 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.158.40 www.tom.top #末行添加

- Windows系統
C:\Windows\System32\drivers\etc目錄下有個hosts檔案,以記事本方式打開并在末尾添加,打開瀏覽器測驗

末行添加映射記錄


三:MYSQL服務安裝
3.1:MySQL概述
- MySQL是一種開放源代碼的關系型資料庫管理系統(RDBMS),使用最常用的資料庫管理語言–結構化查詢語言(SQL)進行資料庫管理,
- MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據個性化的需要對其進行修改,
- MySQL是一個真正的多執行緒,多用戶的SQL資料庫服務,憑借其速度、可靠性和適應性而備受關注,大多數人都認為在不需要事務化處理的情況下,MySQL是管理內容最好的選擇,
3.2:原始碼編譯安裝程序
- 環境準備
[root@server3 ~]# useradd -s /sbin/nologin mysql
[root@server3 ~]# yum -y install \
ncurses \
ncurses-devel \ #ncurses是字符終端螢屏控制的基本庫
bison \ #用于自動生成語法分析器的程式
cmake #跨平臺編譯安裝工具
查看軟體包
[root@server3 ~]# cd /opt/
[root@server3 opt]# ll
drwxr-xr-x. 38 7161 31415 4096 10月 11 20:54 mysql-5.7.20
3.3:配置cmake
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 \
-DDEFAULT_CHARSET=utf8 \ #指定默認使用的字符集編碼,如 utf8,
-DDEFAULT_COLLATION=utf8_general_ci \ #適用于 UTF-8 字符集的通用規則,
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安裝INNOBASE存盤引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安裝ARCHIVE存盤引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安裝ARCHIVE存盤引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ #安裝FEDERATED存盤引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
#若要明確指定不編譯某存盤引擎,可以使用類似如下的選項:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 不啟用或不編譯EXAMPLE存盤引擎
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
#如若要編譯進其它功能,如SSL等,則可使用類似如下選項來實作編譯時使用某庫或不使用某庫:
-DWITH_READLINE=1
-DWITH_SSL=system #表示使用系統上的自帶的SSL庫
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
#其它常用的選項:
-DMYSQL_TCP_PORT=3306 #設定默認埠的
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock #MySQL行程間通信的套接字的位置
-DENABLED_LOCAL_INFILE=1 #是否啟動本地的LOCAL_INFILE
-DEXTRA_CHARSETS=all #支持哪些額外的字符集
-DDEFAULT_CHARSET=utf8 #默認字符集
-DDEFAULT_COLLATION=utf8_general_ci #默認的字符集排序規則
-DWITH_DEBUG=0 #是否啟動DEBUG功能
-DENABLE_PROFILING=1 #是否啟用性能分析功能
-
注意:如果在CMAKE的程序中有報錯—
當報錯解決后,需要把原始碼目錄中的CMakeCache.txt檔案洗掉,然后再重新CMAKE,否則錯誤依舊 -
注意:make: *** No targets specified and no makefile found. Stop.解決方法
1、wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
2.、tar zxvf ncurses-5.6.tar.gz
3、 ./configure -prefix=/usr/local -with-shared-without-debug
4、make
5、make install
3.4:make編譯和make install
[root@server3 opt]# make -j3 && make install #不要超過虛擬機的核心數
3.5:資料庫目錄進行權限調整
[root@server3 opt]# chown -R mysql:mysql /usr/local/mysql/
3.6:建立調整組態檔
[root@server3 opt]# 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
#保存退出
[root@server3 etc]# chown mysql:mysql /etc/my.cnf
3.7:設定環境變數
[root@server3 ~]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@server3 ~]# echo 'export PATH' >> /etc/profile
#添加到組態檔
[root@server3 ~]# source /etc/profile #命令不重啟生效
cd /usr/local/mysql/
3.8:初始化資料庫
bin/mysqld \
--initialize-insecure \
--user=mysql \ #指定用戶 這邊不創建用戶就會報錯
--basedir=/usr/local/mysql \ #資料庫服務所在位置
--datadir=/usr/local/mysql/data #資料庫位置
3.9:啟動服務
[root@server3 ~]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@server3 ~]# systemctl enable mysqld
[root@server3 ~]# systemctl start mysqld
[root@server3 ~]# systemctl status mysqld
[root@server3 ~]# netstat -anpt|grep 3306
tcp6 0 0 :::3306 :::* LISTEN 80307/mysqld
3.10:測驗mysql
mysqladmin -u root -p password “abc123” //剛開始沒密碼是空的直接回車,然后輸入密碼abc123,在此確認abc123,這是在root賬戶下運行的
mysql -u root -p ##這個命令敲下,提示要輸入密碼,這個就是剛才設定的密碼abc123
[root@server3 ~]# mysqladmin -uroot -p123123 password 111111
mysql> create database student ; #分號不能忘記,創建資料庫(student為資料庫名)
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| myadm |
| mysql |
| performance_schema |
| student |
| sys |
+--------------------+
6 rows in set (0.00 sec)
mysql> exit
Bye
以上mysql就安裝就成功了
四:PHP服務安裝
4.1:PHP概述
- PHP即“超文本前處理器”,是一種通用開源腳本語言,PHP是在服務器端執行的腳本語言,與C語言類似,是常用的網站編程語言,PHP獨特的語法混合了C、Java、Perl以及
PHP 自創的語法,利于學習,使用廣泛,主要適用于Web開發領域 - PHP支持絕大多數流行的資料庫,在資料庫層面的操作功能十分強大,而且能夠支持Unix,Windows,Linux等多種作業系統
4.1:首先配置安裝環境
[root@server3 ~]# yum -y install \
> libjpeg \
> libjpeg-devel \
> libpng libpng-devel \
> freetype freetype-devel \
> libxml2 \
> libxml2-devel \
> zlib zlib-devel \
> curl curl-devel \
> openssl openssl-devel
4.3:配置configre
[root@server3 ~]# cd /opt
[root@server3 opt]# tar xf php-7.1.10.tar.bz2
[root@server3 opt]# cd php-7.1.10
./configure \
--prefix=/usr/local/php \ #指定將 PHP 程式安裝到哪個目錄下
--with-apxs2=/usr/local/httpd/bin/apxs \ #設定 Apache HTTP Server 提供的 apxs 模塊支持程式的檔案位置
--with-mysql-sock=/usr/local/mysql/mysql.sock \ #指定mysql的mysql.sock位置
--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
4.4:make編譯和make install
[root@server3 ~]# make && make install
4.5:編輯組態檔
[root@server3 ~]# cp php.ini-development /usr/local/php/lib/php.ini #將php.ini-development開發樣板,復制到生產環境中去
[root@server3 ~]# vi /usr/local/php/lib/php.ini
mysqli.default_socket = /usr/local/mysql/mysql.sock
date.timezone = Asia/Shanghai
[root@server3 ~]# /usr/local/php/bin/php -m #驗證安裝的模塊
[root@server3 ~]# vi /etc/httpd.conf #在合適位置新增
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
[root@server3 ~]# rm -f /usr/local/httpd/htdocs/index.html
[root@server3 ~]# vi /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
4.6:重啟服務并測驗PHP頁面
[root@server3 ~]# systemctl restart httpd

五:搭建一個phpMyAdmin
5.1:PHPMyAdmin概述
- phpMyAdmin 是眾多 MySQL圖形化管理工具中使用最為廣泛的一種,是一款使用PHP 開發的基于B/S模式的 MySQL客戶端軟體,該工具是基于 Web 跨平臺的管理程式,并且支持簡體中文,用戶可以在官網上下載最新版本的,
- phpMyAdmin 為Web 開發人員提供了類似 Access,SQL Server 的圖形化資料庫操作界面,通過該管理工具可以對 MySQL 進行各種操作,如何創建資料庫,資料表和生成 MySQL 資料庫腳本檔案等,
5.2:tar解壓
[root@server3 myadm]# cd /opt/
[root@server3 opt]# ls
phpMyAdmin-4.7.6-all-languages.zip
unzip phpMyAdmin-4.7.6-all-languages.zip -d /opt/
mv phpMyAdmin-4.7.6-all-languages /usr/local/httpd/htdocs/myadm
cd /usr/local/httpd/htdocs/myadm
cp config.sample.inc.php config.inc.php
5.3:修改組態檔
vi config.inc.php
$cfg['Servers'][$i]['host'] = '127.0.0.1';
#把localhost 改成IP 31行
5.4:測驗網頁
http://192.168.158.30/myadm
使用root 以及前面為root配置的密碼登錄管理系統,可以對資料庫進行管理操作了


- 直接在網頁上創建資料庫名稱

- 在服務器上驗證資料庫

以上就搭建完成了,真的斷斷續續做了好久
- 最后分享一個勵志小短句

如果對您有用的話,點個三連吧,求求啦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/175485.html
標籤:AI
上一篇:宏芯powerpc64le架構實作centos7安裝postgresql
下一篇:華為 華三 思科常用命令
