源代码安装部署lamp
源代码安装部署lamp
源代码安装
准备编译环境
配置
编译
编译安装
准备工作
CentOS 7
主机:lamp.example.ocm
IP:192.168.100.70
关闭防火墙与selinux
安装包:
我将它们存放在/package中
apr-1.7.0.tar.gz
apr-util-1.6.1.tar.gz
httpd-2.4.54.tar.gz
mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
php-7.1.10.tar.bz2
apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.54.tar.gzmysql-5.7.37-linux-glibc2.12-x86_64.tar.gzphp-7.1.10.tar.bz2
# CentOS 7 yum源curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo# 安装epel源[root@ldh7 yum.repos.d]# yum -y install epel-release
1、下载所需要的软件包
[root@ldh7 ~]# yum -y install bzip2 vim make wget openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ libxml2-devel
2、解压安装包apr
[root@ldh7 package]# tar -xzvf apr-1.7.0.tar.gz[root@ldh7 package]# cd apr-1.7.0/[root@ldh7 apr-1.7.0]# sed -i '/$RM "$cfgfile"/d' configure # 修改configure[root@ldh7 apr-1.7.0]# ./configure --prefix=/usr/local/apr # 配置 [root@ldh7 apr-1.7.0]# make # 编译[root@ldh7 apr-1.7.0]# make install # 编译安装
3、解压安装包apr-util
[root@ldh7 package]# tar -xzvf apr-util-1.6.1.tar.gz[root@ldh7 package]# cd apr-util-1.6.1/[root@ldh7 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr # 配置[root@ldh7 apr-util-1.6.1]# make [root@ldh7 apr-util-1.6.1]# make install
4、解压安装包httpd
[root@ldh7 package]# tar -xzvf httpd-2.4.54.tar.gz[root@ldh7 package]# cd httpd-2.4.54/
# 配置[root@ldh7 httpd-2.4.54]# ./configure --prefix=/usr/local/apache \--sysconfdir=/etc/httpd24 \--enable-so \--enable-ssl \--enable-cgi \--enable-rewrite \--with-zlib \--with-pcre \--with-apr=/usr/local/apr \--with-apr-util=/usr/local/apr-util/ \--enable-modules=most \--enable-mpms-shared=all \--with-mpm=prefork
[root@ldh7 httpd-2.4.54]# make[root@ldh7 httpd-2.4.54]# make install[root@ldh7 httpd-2.4.54]# /usr/local/apache/bin/apachectl start # 启动apache服务
5、部署lamp-mysql
# 创建mysql用户[root@ldh7 ~]# useradd -r -M -s /sbin/nologin mysql# 安装依赖包[root@ldh7 ~]# yum -y install libncurses*# 配置mysql[root@ldh7 package]# tar -xzvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/[root@ldh7 package]# cd /usr/local/[root@ldh7 local]# ln -sv mysql-5.7.37-linux-glibc2.12-x86_64/ mysql # 创建软链接,方便管理mysql[root@ldh7 local]# chown -R mysql.mysql /usr/local/mysql [root@ldh7 local]# mkdir -p /opt/data # 创建目录,存放mysql数据[root@ldh7 local]# chown -R mysql.mysql /opt/data/ [root@ldh7 local]# yum -y install libaio# 数据库初始化[root@ldh7 local]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data/ [root@ldh7 local]# ln -sv /usr/local/mysql/include/ /usr/local/include/mysql [root@ldh7 local]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf [root@ldh7 local]# ldconfig # 输入这个命令,如果没报错,初始化成功# 编辑mysql配置文件[root@ldh7 local]# vim /etc/my.cnf[mysqld]basedir = /usr/local/mysqldatadir = /opt/datasocket = /tmp/mysql.sockport = 3306pid-file = /opt/data/mysql.piduser = mysqlskip-name-resolve:wq # 保存退出[root@ldh7 local]# sed -ri "s#^(basedir=).*#\1/usr/local/mysql#g" /usr/local/mysql/support-files/mysql.server[root@ldh7 local]# sed -ri "s#^(datadir=).*#\1/opt/data#g" /usr/local/mysql/support-files/mysql.server#定义mysql服务可以使用systemd来进行管理[root@ldh7 local]# vim /usr/lib/systemd/system/mysqld.service[Unit]Description=mysql server daemonAfter=network.target[Service]Type=forkingExecStart=/usr/local/mysql/support-files/mysql.server startExecStop=/usr/local/mysql/support-files/mysql.server stopExecReload=/bin/kill -HUP \$MAINPID[Install]WantedBy=multi-user.target[root@ldh7 local]# systemctl daemon-reload [root@ldh7 local]# systemctl enable --now mysqld # 设置数据库密码[root@ldh7 local]# /usr/local/mysql/bin/mysql -uroot -e "set password=password('123456')"#做一个链接,添加mysql命令的变量到环境变量[root@ldh7 local]# echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile[root@ldh7 local]# source /etc/profile
6、部署lamp-php
# 安装依赖包,安装GD库和GD库关联程序,用来处理和生成图片[root@ldh7 local]# yum -y install \libjpeg \libjpeg-devel \libpng libpng-devel \freetype freetype-devel \libxml2 \libxml2-devel \zlib zlib-devel \curl curl-devel
# 解压php包文件[root@ldh7 package]# tar -xjvf php-7.1.10.tar.bz2
[root@ldh7 package]# cd php-7.1.10/# 配置编译安装php[root@ldh7 php-7.1.10]# ./configure \--prefix=/usr/local/php \ #指定将 PHP 程序的安装路径--with-apxs2=/usr/local/apache/bin/apxs \ #指定Apache httpd服务提供的apxs 模块支持程序的文件位置--with-mysql-sock=/tmp/mysql.sock \ #指定mysql 数据库连接文件的存储路径--with-mysqli \ #添加 MySQL 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定--with-zlib \ #支持zlib功能,提供数据压缩--with-curl \ #开启curl扩展功能,实现http的get下载和post请求方法--with-gd \ #激活gd库的支持--with-jpeg-dir \ #激活jpeg的支持--with-png-dir \ #激活png的支持--with-freetype-dir \--with-openssl \ --enable-mbstring \ #启动多字节字符串功能,以便支持中文等代码--enable-xml \ #开启扩展性标记语言模块--enable-session \ #会话--enable-ftp \ #文本传输协议--enable-pdo \ #函数库--enable-tokenizer \ #令牌解释器--enable-zip #zip压缩格式[root@ldh7 php-7.1.10]# make[root@ldh7 php-7.1.10]# make install [root@ldh7 php-7.1.10]# libtool --finish /package/php-7.1.10/libs
# 配置php# 测试环境时使用php.ini-development文件,生产环境使用php.ini-production文件[root@ldh7 php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini# 修改php配置文件,设置时区[root@ldh7 php-7.1.10]# sed -i 's/;date.timezone =/date\.timezone = \Asia\/Shanghai/' /usr/local/php/lib/php.ini# 修改httpd服务配置文件,让apache支持php[root@ldh7 php-7.1.10]# echo "AddType application/x-httpd-php .php" >> /etc/httpd24/httpd.conf[root@ldh7 php-7.1.10]# echo "AddType application/x-httpd-php-source .phps" >> /etc/httpd24/httpd.conf[root@ldh7 php-7.1.10]# sed -i 's/index.html/index\.php index\.html/' /etc/httpd24/httpd.conf# 验证php测试页[root@ldh7 php-7.1.10]# rm -rf /usr/local/apache/htdocs/index.html[root@ldh7 php-7.1.10]# vim /usr/local/apache/htdocs/index.php <?phpphpinfo();?># 启动apache服务[root@ldh7 php-7.1.10]# /usr/local/apache/bin/apachectl stop[root@ldh7 php-7.1.10]# /usr/local/apache/bin/apachectl start
验证
浏览器输入192.168.100.70