安装前准备
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
一、安装MySql
1.编译安装
下载软件包
cd /usr/local/src/
wget http://mirrors.sohu.com/mysql/MySQL-5.7/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
结束后会生成一个密码,记下来
初始化时会出现如下警告:
[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
datadir=/data/mysql
chkconfig mysqld on
service mysqld start
修改密码
/usr/local/mysql/bin/mysqladmin -uroot -p‘刚才记下的密码‘ password "新密码"
二、安装apache2.4
下载源码:
cd /usr/local/src
wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.25.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-1.5.2.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.4.tar.gz
tar zxvf /usr/local/src/httpd-2.4.25.tar.gz
tar zxvf /usr/local/src/apr-1.5.2.tar.gz
tar zxvf /usr/local/src/apr-util-1.5.4.tar.gz
mv /usr/local/src/apr-1.5.2 /usr/local/src/httpd-2.4.25/srclib/apr
mv /usr/local/src/apr-util-1.5.4 /usr/local/src/httpd-2.4.25/srclib/apr-util
cd /usr/local/src/httpd-2.4.25
./configure \--prefix=/usr/local/apache2 \--with-included-apr \--enable-so \--enable-deflate=shared \--enable-expires=shared \--enable-rewrite=shared
make && make install
cd /usr/local/apache2/
vi conf/httpd.conf
找到
#ServerName www.example.com:80
改成
ServerName localhost:80
检查配置文件语法
bin/apachectl -t
配置启动脚本
cp /usr/local/src/httpd-2.4.25/build/rpm/httpd.init /etc/init.d/httpd
注意文件中有三处主要的地方需要修改下的:
httpd=${HTTPD-/usr/local/apache2/bin/httpd}
pidfile=${PIDFILE-/usr/local/apache2/logs/${prog}.pid}
CONFFILE=/usr/local/apache2/conf/httpd.conf
请根据自己的实际情况更改相应的路径!
然后运行如下命令:
chmod +x /etc/init.d/httpd
chkconfig --add httpd
chkconfig httpd on
/etc/init.d/httpd start
netstat -lnp |grep httpd
三、php安装
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.13
./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 \
--with-mysqli=shared,mysqlnd \
--with-pdo-mysql=shared,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 \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--disable-ipv6
make && make install
cp php.ini-production /usr/local/php/etc/php.ini
四、apache结合php
vi /usr/local/apache2/conf/httpd.conf
找到
#ServerName www.example.com:80
改成
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.htm index.php
</IfModule>
/usr/local/apache2/bin/apachectl -t
service httpd restart
测试解析php
vi /usr/local/apache2/htdocs/1.php
写入:
<?php
echo "php解析正常";
echo phpinfo();
?>
保存后,继续测试:
curl localhost/1.php