本博客采用的版本是httpd-2.4.16.tar.gz mysql-5.6.36.tar.gz php-5.6.8.tar.bz2
apache源码编译
下载地址链接:https://pan.baidu.com/s/1wSsZHwjM3akmNiTPBvzwjg
提取码:love
编译环境部署
编译环境
yum install apr-devel apr-util-devel -y
解压编译
#解压
tar zxf httpd-2.4.16.tar.gz
cd httpd-2.4.16/
#检查环境
./configure --prefix=/usr/local/apache --enable-so --enable-rewrite
#编译&编译安装
make&&make install
mysql 源码编译
创建数据存放目录
mkdir -p /data/mysql
创建mysql用户
useradd -s /sbin/nologin mysql #创建mysql用户 | 不可登录用户
chown -R mysql:mysql /data/mysql #赋予mysql用户数据库存放目录的权限
编译环境部署
yum install cmake ncurses-devel ncurses gcc gcc-c++ -y
解压编译
#解压
tar zxf mysql-5.6.36.tar.gz
cd mysql-5.6.36/
#检查环境
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 \ #编译后的文件存放路径
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ #MYSQL Socket通信文件位置
-DMYSQL_DATADIR=/data/mysql \ #mysql数据存放位置 | 这个是根目录下的data目录,默认是没有的需要手动创建
-DSYSCONFDIR=/etc \ #配置文件存放目录
-DMYSQL_USER=mysql \ #用户
-DMYSQL_TCP_PORT=3306 \ #端口
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0
#编译&编译安装
make&&make install
编辑/etc/my.cnf配置文件
#复制默认配置文件到etc下并改名为my.cnf
cd /usr/local/mysql56/support-files
cp my-default.cnf /etc/my.cnf
cd /etc/
vim my.cnf
#分割线下面是配置文件
--------------------------------------------------------------------------------------------------------------------
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql56 #mysql源码安装位置
datadir = /data/mysql #mysql数据存放位置
port = 3306 #端口
#server_id = .....
socket = /tmp/mysql.sock #MYSQL Socket通信文件位置
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
初始化mysql数据库
#整个命令:
cd /usr/local/mysql56/bin/
#初始化
/usr/local/mysql56/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56 --datadir=/data/mysql/
解释:
/usr/local/mysql56/scripts/mysql_install_db #<---执行脚本
--user=mysql #<---用户
--basedir=/usr/local/mysql56 #<---数据库安装路径
--datadir=/data/mysql/ #<---数据库文件路径
#这些参数路径要和上面的配置文件一致
拷贝启动脚本文件到init.d目录下 | 方便启动mysql
cd /usr/local/mysql56/support-files
cp mysql.server /etc/init.d/mysqld
启动mysql
service mysqld start
Starting MySQL. SUCCESS! #有这段话表示启动成功
测试连接
cd /usr/local/mysql56/bin #进入可执行文件目录
./mysql -hlocalhost -uroot -p #不需要密码
#嫌全路径麻烦的话可以做个软连接
创建软连接
ln -s /usr/local/mysql56/bin/* /usr/bin/
#这样的话不管在那个目录下都可以只输入mysql进入mysql
php源码编译
编译环境部署
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel -y
解压编译
tar jxf php-5.6.8.tar.bz2
cd php-5.6.8/
#检查环境
./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql56/
#解释
--prefix=/usr/local/php5 #解压后文件存放目录
--with-config-file-path=/usr/local/php5/etc #配置文件存放目录
--with-apxs2=/usr/local/apache2/bin/apxs #apache目录
--with-mysql=/usr/local/mysql56/ #mysql目录
#编译&编译安装
make&&make install
#可能会出现编译完和安装完后/usr/local下没有php5这个目录 | 如果遇到这种情况的话重新编译和安装一次就好了
apache和php源码整合
cd /usr/local/apache/conf #进入配置文件目录
vim httpd.conf
#分割线下面是配置文件要修改的部分
--------------------------------------------------
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
DirectoryIndex index.php index.html index.htm
启动apache服务
cd /usr/local/apache/bin #进入apache执行文件目录
./apachectl start #启动apache
测试Apache+PHP环境
#创建PHP测试页面,在/usr/local/apache/htdocs目录下创建index.php测试页面,执行如下命令自动创建:
cat >/usr/local/apache/htdocs/index.php<<EOF
<?php
phpinfo();
?>
EOF