centos 7.4 源碼安裝最新版本的lamp架構及搭建phpMyadmin
所需的壓縮包,如下圖:
1、安裝apache服務
[root@lamp ~]# tar xf apr-1.6.2.tar.gz -C /opt/ //apache插件
[root@lamp ~]# tar xf apr-util-1.6.0.tar.gz -C /opt/
[root@lamp ~]# yum install -y bzip2 //.tar.gz格式是默認的壓縮文件格式
[root@lamp ~]# tar xf httpd-2.4.29.tar.bz2 -C /opt/
[root@lamp opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr //將Apache插件移動安裝包目錄中去,並只取名稱作為目錄名,後面的版本號不要,方便運行時識別
[root@lamp opt]# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
Perl
[root@lamp opt]# cd httpd-2.4.29/ //編譯需要進入到解壓後的目錄中去
[root@lamp httpd-2.4.29]# ./configure \ //定制
--prefix=/usr/local/httpd \ //指定httpd程序的安裝路徑
--enable-so \ //啟用動態加載模塊支持
--enable-charset-lite \ //啟動字符集支持
--enable-cgi //啟用CGI腳本程序支持
[root@lamp httpd-2.4.29]# make && make install //編譯及安裝
[root@lamp httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd //在系統開機啟動進程中添加httpd系統服務
#chkconfig: 35 85 21 //35級別自動運行 第85個啟動 第21個關閉
#description: Apache is a World Wide Web server //腳本描述
[root@lamp httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@lamp httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ //優化執行路徑,即將httpd的執行程序文件放到$PATH環境變量中去
[root@lamp httpd-2.4.29]# systemctl stop firewalld
[root@lamp httpd-2.4.29]# setenforce 0
[root@lamp httpd-2.4.29]# httpd -t //檢查Apache配置文件有木有語法錯誤 也可以用: apachectl -t
[root@lamp httpd-2.4.29]# service httpd start
[root@lamp httpd-2.4.29]# netstat -anpt | grep 80 //http服務基於tcp端口80
測試:用瀏覽器客戶端去輸入主機IP地址訪問;
2、安裝mysql數據庫
[root@lamp httpd-2.4.29]# yum -y install \ //安裝mysql數據庫所需依賴包和插件
ncurses \
ncurses-devel \
bison \
Cmake
[root@lamp httpd-2.4.29]# useradd -s /sbin/nologin mysql //創建程序用戶mysql
[root@lamp httpd-2.4.29]# cd
[root@lamp ~]# tar xf mysql-boost-5.7.20.tar.gz -C /opt/ //解壓MySQL數據庫壓縮包到/opt中
[root@lamp ~]# cd /opt/mysql-5.7.20/
[root@lamp mysql-5.7.20]# cmake \ //進入安裝包目錄中定制功能
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定將mysql數據庫程序安裝到某個目錄下
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ //設置mysql.sock路徑,必須是絕對路徑
-DSYSCONFDIR=/etc //指定初始化參數文件目錄
-DSYSTEMD_PID_DIR=/usr/local/mysql \ //pid文件路徑
-DDEFAULT_CHARSET=utf8 \ // 指定默認使用的字符集編碼
-DDEFAULT_COLLATION=utf8_general_ci \ //指定默認使用的字符集校對規則
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //存儲引擎選項,靜態編譯一個存儲引擎到服務器,1為開啟,添加INNOBASE引擎支持不加建表時報錯
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ //添加BLACKHOLE引擎支持 ,不加建表時報錯
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ //添加PERFSCHEMA引擎支持,不加建表時報錯
-DMYSQL_DATADIR=/usr/local/mysql/data \ //mysql數據庫文件存放目錄
-DWITH_BOOST=boost \ //指向boost庫所在目錄
-DWITH_SYSTEMD=1 //可以使用systemd控制mysql服務
[root@lamp mysql-5.7.20]# make && make install
[root@lamp mysql-5.7.20]# chown -R mysql.mysql /usr/local/mysql/ //更改歸屬,方便程序用戶mysql去運行
[root@lamp mysql-5.7.20]# vi /etc/my.cnf //MySQL默認主配置文件
添加如下圖內容
[root@lamp mysql-5.7.20]# chown mysql:mysql /etc/my.cnf
[root@lamp mysql-5.7.20]# echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH‘ >> /etc/profile //方便Linux系統識別
[root@lamp mysql-5.7.20]# echo ‘export PATH‘ >> /etc/profile //全局變量
[root@lamp mysql-5.7.20]# source /etc/profile 生效
[root@lamp mysql]# bin/mysqld \
--initialize-insecure \ //初始化數據庫
--user=mysql \ //指定程序用戶
--basedir=/usr/local/mysql \ //設置基礎目錄
--datadir=/usr/local/mysql/data //設置工作目錄
[root@lamp mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ //添加到system管理器
[root@lamp mysql]# systemctl daemon-reload 以daemon用戶身份重加載
[root@lamp mysql]# systemctl start mysqld
[root@lamp mysql]# netstat -anpt | grep 3306
[root@lamp mysql]# systemctl enable mysqld //設為開機啟動
[root@lamp mysql]# mysqladmin -u root -p password "abc123" //給root賬號設置密碼為abc123 ,提示輸入的是初始密碼時,直接回車
[root@lamp mysql]# mysql -u root -p //root有密碼的情況下,要-p輸入密碼,沒有不要-p
3、安裝php
[root@lamp mysql]# yum -y install \ //安裝PHP插件,方便識別設置時各種圖片,動畫等
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-deve
[root@lamp ~]# tar xf php-7.1.10.tar.bz2 -C /opt/
[root@lamp ~]# cd /opt/php-7.1.10
[root@lamp 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 \ PHP的Unix socket通信文件
--with-mysqli \
--with-zlib \
--with-curl \ 允許curl擴展
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \ 允許php會話session
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
[root@lamp php-7.1.10]# make && make install
[root@lamp php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini
[root@lamp php-7.1.10]# vi /usr/local/php/lib/php.ini
mysqli.default_socket = /usr/local/mysql/mysql.sock 指定sock文件位置
date.timezone = Asia/Shanghai 指定時區
[root@lamp php-7.1.10]# /usr/local/php/bin/php -m 驗證安裝的模塊
[root@lamp php-7.1.10]# vi /etc/httpd.conf 在合適位置新增,支持php語言
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
[root@lamp php-7.1.10]# vi /usr/local/httpd/htdocs/index.php //編輯網頁測試文件
[root@lamp htdocs]# rm -f index.html
[root@lamp htdocs]# systemctl restart httpd
測試,在瀏覽器中輸入192.168.80.130
[root@lamp htdocs]# mysql -u root -p
CREATE DATABASE myadm;
GRANT all ON myadm. TO ‘myadm‘@‘%‘ IDENTIFIED BY ‘admin123‘;
GRANT all ON myadm. TO ‘myadm‘@‘localhost‘ IDENTIFIED BY ‘admin123‘;
flush privileges;
[root@lamp htdocs]# vi /usr/local/httpd/htdocs/index.php //測試php是否連接mysql數據庫
測試結果,成功連接出現如下圖提示:
4、安裝phpMyAdmin
[root@lamp htdocs]# yum install -y unzip
[root@lamp ~]# unzip phpMyAdmin-4.7.6-all-languages.zip -d /opt/
[root@lamp ~]# mv /opt/phpMyAdmin-4.7.6-all-languages /usr/local/httpd/htdocs/myadm
[root@lamp ~]# cd /usr/local/httpd/htdocs/myadm
[root@lamp myadm]# cp config.sample.inc.php config.inc.php
[root@lamp myadm]# vi config.inc.php
修改如下圖內容:
測試,在瀏覽器中輸入192.16880.130/myadm/index.php
註:管理數據庫使用root以及前面為root配置的密碼登錄管理系統
centos 7.4 源碼安裝最新版本的lamp架構及搭建phpMyadmin