lamp環境搭建(centos6.9+apache2.4+mysql5.7+php7.1)

lamp環境搭建(centos6.9+apache2.4+mysql5.7+php7.1)

安裝前準備:CentOS 6.9 64位 最小化安裝

yum install -y make gcc gcc-c++ perl zlib-devel libaio libpng libpng-devel libjpeg-devel pcre-devel
yum install -y  libXpm-devel openssl openssl-devel libxml2-devel bzip2-devel.x86_64 libjpeg-turbo-devel
yum install -y  freetype freetype-devel libtool cmake ncurses-devel bison re2c curl-devel wget
rpm -ivh "http://mirrors.sohu.com/fedora-epel/epel-release-latest-6.noarch.rpm"
yum install -y libmcrypt-devel re2c

1、安裝MySql

1.編譯安裝
下載軟件包
cd /usr/local/src/  
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-boost-5.7.17.tar.gz
解壓
tar zxvf mysql-boost-5.7.17.tar.gz
編譯&安裝
cd mysql-5.7.17
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_BOOST=./boost/boost_1_59_0/
make && make install
注意:若是編譯出錯,執行以下操做,而後從新配置。
make clean
rm CMakeCache.txt
2.二進制包安裝
若編譯過程較慢,能夠下載編譯好的二進制包直接安裝
cd /usr/local/src/
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
tar zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
移至/usr/local/mysql目錄
mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
3.創建mysql用戶
useradd -s /sbin/nologin mysql
初始化數據庫,建立系統自帶的數據庫和表
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
cd /usr/local/mysql
bin/mysqld --initialize --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql
(5.7初始化方式已經變動,直接使用mysqld命令初始化,5.6以前版本初始化執行下面這句:
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql)
結束後會生成一個密碼,記下來
初始化時會出現以下警告:
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated.
Please use --explicit_defaults_for_timestamp server option (see
documentation for more details).
要想取消該警告,在啓動mysql時,my.cnf中加入
[mysqld]
explicit_defaults_for_timestamp=true
添加服務,拷貝服務腳本到init.d目錄,並設置開機啓動
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
vi /etc/init.d/mysqld
修改datadir
basedir=/usr/local/mysql
datadir=/data/mysql
啓動mysql並設置開機啓動
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
修改密碼
/usr/local/mysql/bin/mysqladmin -uroot -p'剛纔記下的密碼' password "新密碼"
5.6以前版本修改密碼執行下面這句:
/usr/local/mysql/bin/mysqladmin -uroot password "新密碼"
4.修改/etc/my.cnf配置文件
[client]
default-character-set = utf8
port = 3306
socket = /tmp/mysql.sock
[mysqld]
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /data/mysql

2、安裝apache2.4

cd /usr/local/src
wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz
tar zxvf /usr/local/src/httpd-2.4.29.tar.gz
tar zxvf /usr/local/src/apr-1.6.3.tar.gz
tar zxvf /usr/local/src/apr-util-1.6.1.tar.gz
mv /usr/local/src/apr-1.6.3 /usr/local/src/httpd-2.4.29/srclib/apr
mv /usr/local/src/apr-util-1.6.1 /usr/local/src/httpd-2.4.29/srclib/apr-util
cd /usr/local/src/httpd-2.4.29
./configure \--prefix=/usr/local/apache2 \--with-included-apr \--enable-so \--enable-deflate=shared \--enable-expires=shared \--enable-rewrite=shared
make && make install
第二次實驗報錯:報錯圖沒貼

解決辦法:php

yum install expat-devel -y
cd /usr/local/apache2/
vi conf/httpd.conf

找到html

#ServerName www.example.com:80

改爲mysql

ServerName localhost:80
檢查配置文件語法
bin/apachectl -t
配置啓動腳本
cp /usr/local/src/httpd-2.4.29/build/rpm/httpd.init /etc/init.d/httpd

注意文件中有三處主要的地方須要修改下的:請根據本身的實際狀況更改相應的路徑!linux

httpd=${HTTPD-/usr/local/apache2/bin/httpd} 
pidfile=${PIDFILE-/usr/local/apache2/logs/${prog}.pid} 
CONFFILE=/usr/local/apache2/conf/httpd.conf

而後運行以下命令:c++

chmod +x /etc/init.d/httpd 
chkconfig --add httpd 
chkconfig httpd on 
/etc/init.d/httpd start
netstat -lnp |grep httpd

3、php安裝

下載php安裝包並解壓:web

cd /usr/local/src
wget http://mirrors.sohu.com/php/php-7.1.3.tar.gz
tar zxvf php-7.1.3.tar.gz
cd php-7.1.3

編譯sql

./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/php/etc  \
--with-mysql-sock=/tmp/mysql.sock \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--with-gettext \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--disable-ipv6 \
--enable-bcmath \
--enable-fpm

安裝並copy配置文件數據庫

make && make install
cp php.ini-production /usr/local/php/etc/php.ini

4、apache結合php

vi /usr/local/apache2/conf/httpd.conf

找到apache

#ServerName www.example.com:80

改爲centos

ServerName localhost:80

找到:

AddType application/x-gzip .gz .tgz

在該行下面添加:

AddType application/x-httpd-php .php

找到:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

將該行改成:

<IfModule dir_module>
    DirectoryIndex index.html index.html index.php
</IfModule>

測試語法是否正確

/usr/local/apache2/bin/apachectl -t

啓動httpd web 服務

service httpd restart

測試解析php

vi /usr/local/apache2/htdocs/1.php

寫入:

<?php
    echo "php解析正常";
    echo phpinfo();
?>

保存後,繼續測試:

curl localhost/1.php

查看結果已經能夠成功解析。

相關文章
相關標籤/搜索