編譯安裝LAMP

編譯安裝MariaDB

建立MariaDB安裝目錄、數據庫存放目錄、創建用戶和目錄

先建立一個名爲mysql且沒有登陸權限的用戶和一個名爲mysql的用戶組,而後安裝mysql所需的依賴庫和依賴包,最後經過cmake進行安裝。php

建立mysql用戶組

groupadd -r mysqlmysql

添加新用戶

-r:添加系統用戶
-g:指定要建立的用戶所屬組
-s:新帳戶登陸shell
-d:新帳戶主目錄
-M:不要建立用戶主目錄
useradd -r -g mysql -s /sbin/nologin -d /usr/local/mysql -M mysqllinux

建立數據庫相關目錄

MariaDB安裝目錄爲/usr/local/mysql而且數據目錄爲 /data/mysql,賦予mysql用戶權限
mkdir -pv /data/mysql
chown -R mysql:mysql :data/mysqlc++

安裝依賴包

yum -y install libaio libaio-devel bison bison-devel zlib-devel openssl openssl-devel ncurses ncurses-devel libcurl-devel libarchive-devel boost boost-devel lsof wget gcc gcc-c++ make cmake perl kernel-headers kernel-devel pcre-devel

安裝cmake編譯工具

tar xvf cmake-3.12.1.tar.gz
cd cmake-3.12.1/
./bootstrap
gmake
make && make install
其餘組件:
Ncurses:提供功能鍵定義(快捷鍵),屏幕繪製以及基於文本終端的圖形互動功能動態庫;
Bison:GNU分析器生成器
Boost庫:一個開源可移植的C++庫,是C++標準化進程的開發引擎之一sql

環境檢查

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DOWNLOADS=1 \
-DEXTRA_CHARSETS=all \
-DSYSCONFDIR=/etc \
-DWITHOUT_TOKUDB=1 \
-DWITH_ARCHIVE_STPRAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LOBWRAP=0 \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_MAINTAINER_MODE=0

若是編譯失敗須要刪除CMakeCache.txt,讓指令從新執行,不然每次讀取這個文件,命令修改正確也是報錯shell

選項註釋

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \           [MySQL安裝的根目錄]
-DDEFAULT_CHARSET=utf8 \                            [設置默認字符集爲utf8]
-DDEFAULT_COLLATION=utf8_general_ci \               [設置默認字符校對]
-DENABLED_LOCAL_INFILE=1 \                          [啓用加載本地數據]
-DENABLE_DOWNLOADS=1 \                              [編譯時容許自主下載相關文件]
-DEXTRA_CHARSETS=all \                              [使MySQL支持全部的擴展字符]
-DSYSCONFDIR=/etc \                                 [MySQL配置文件所在目錄]
-DWITHOUT_TOKUDB=1 \
-DWITH_ARCHIVE_STPRAGE_ENGINE=1 \                   [MySQL的數據庫引擎]
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \                   [MySQL的數據庫引擎]
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \                 [MySQL的數據庫引擎]
-DWITH_DEBUG=0 \                                    [禁用調試模式]
-DWITH_MEMORY_STORAGE_ENGINE=1 \                    [MySQL的數據庫引擎]
-DWITH_MYISAM_STORAGE_ENGINE=1 \                    [MySQL的數據庫引擎]
-DWITH_INNOBASE_STORAGE_ENGINE=1 \                  [MySQL的數據庫引擎]
-DWITH_PARTITION_STORAGE_ENGINE=1  \                [MySQL的數據庫引擎]
-DWITH_READLINE=1 \                                 [MySQL的readline library]
-DWITH_SSL=system \                                 [通信時支持ssl協議]
-DWITH_ZLIB=system \                                [容許使用zlib library]
-DWITH_LOBWRAP=0 \
-DMYSQL_DATADIR=/data/mysql \                       [MySQL數據庫文件存放目錄]
-DMYSQL_USER=mysql \                                [MySQL用戶名] 
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \       [MySQL的通信目錄]
-DMYSQL_TCP_PORT=3306 \                             [MySQL的監聽端口]
-DMYSQL_MAINTAINER_MODE=0

編譯和安裝

make && make install數據庫

配置MariaDB

使用mysql用戶執行腳本,安裝數據庫到到數據庫存放目錄apache

/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql

複製MariaDB配置文件到/etc目錄
拷貝maria安裝目錄下support-files目錄下的文件wsrep.cnf目錄並重命名爲my.cnf
cp /usr/local/mysql/support-files/wsrep.cnf /etc/my.cnfbootstrap

建立啓動腳本

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqldvim

啓動mysqld服務

/etc/rc.d/init.d/mysqld start

配置環境變量

echo "export PATH=$PATH:/usr/local/mysql/bin" >/etc/profile.d/mysql.sh
添加x權限
chmod +x /etc/profile.d/mysql.sh

初始化MariaDB

/usr/local/mysql/bin/mysql_secure_installation

啓動MariaDB服務

systemctl strt mysqld

編譯安裝Apache

準備安裝文件

apr-1.6.3.tar.gz
apr-util-1.6.1.tar.gz
httpd-2.4.29.tar.bz2

安裝編譯工具與插件

yum -y install gcc gcc-c++ make pcre-devel expat-devel perl

解壓縮文件

tar xvf apr-1.6.3.tar.gz
tar xvf apr-util-1.6.1.tar.gz
tar xvf httpd-2.4.29.tar.bz2
將插件放入httpd目錄下
mv apr-1.6.3 httpd-2.4.29/srclib/apr
mv apr-util-1.6.1 httpd-2.4.29/srclib/apr-util

編譯安裝

./configure --prefix=/app/httpd24 --sysconfdir=/etc/httpd24 --enable-so  --enable-ssl --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
make && make install

修改PATH路徑

echo "PATH=/usr/local/httpd/bin:$PATH" > /etc/profile.d/httpd.sh
查看是否生效
echo $PATH

啓動服務

apachectl 啓動服務
apachectl -t 檢查配置文件語法
apachectl stop 中止服務

編譯安裝php7

安裝擴展包

yum install epel-release -y

安裝php依賴組件

yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel

建立用戶和組

groupadd www
useradd -g www www

解壓縮安裝包

tar xvf php-7.2.1.tar.gz

設置變量並開始源碼編譯

cp -frp /usr/lib64/libldap* /usr/lib
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-mysqlnd-compression-support \
--with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--enable-intl \
--with-mcrypt \
--with-libmbfl \
--enable-ftp \
--with-gd \
--enable-gd-jis-conv \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache \
--with-pear \
--enable-maintainer-zts \
--with-ldap=shared \
--without-gdbm \

開始安裝

make && make install

完成後配置php.ini文件

cp php.ini-development /usr/local/php/etc/php.ini
 cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
 cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

建立system系統單元文件php-fpm啓動腳本

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
 
[Service]
Type=simple
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
 
[Install]
WantedBy=multi-user.target

啓動php-fpm服務並加入開機自啓動

systemctl enable php-fpm.service
systemctl restart php-fpm.service

參考文件:
https://www.linuxidc.com/Linux/2017-11/148947.htm
http://www.javashuo.com/article/p-kpvzaxai-b.html
https://www.jb51.net/article/142332.htm
http://www.javashuo.com/article/p-oiibfwxv-d.html

相關文章
相關標籤/搜索