LAMP编译安装
admin
2023-05-27 15:21:46
0

安装之前首先要安装所需的依赖库,将httpd mysql php等所需要的源码包上传到主机,或者wget 方式直接下载 上传方式和wget下载不作介绍,其中有些依赖是可以编译安装或者yum安装,并且这里依赖没有写全,这个里面包含必须的,比如cmak gcc 这些都是必须

安装依赖库

yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel cmake

在httpd2.4.x开始 编译安装时候需要先安装apr apr-util 我习惯安装直前对所有包解压

ls *.tar.gz | xargs -n1 tar xvf  #这个命令要在压缩包当前文件夹
安装aprcd apr-1.5.2/

./configure --prefix=/usr/local/aprmake && make install
安装apr-util
cd apr-util-1.5.4/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/make && make install
安装pcrecd pcre-8.39/
./configuremake && maek install
安装apachecd httpd-2.4.25/./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --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-mpms-shared=all --with-mpm=event

这里也有写,这里的参数是根据自己情况所定有些可以不用加 也可以加别的 说明:--prefix=/usr/local/apache ####httpd安装路径
--sysconfdir=/etc/httpd ####系统配置文件目录路径
--enable-so ######支持共享模块功能
--enable-ssl #####支持ssl功能
--enable-cgi ####支持cgi功能
--enable-rewrite ####支持重写功能
--with-zlib #####支持扩展库文件功能
--with-pcre #####支持pcre功能 如果pcre编译安装时候有指定路径 --with-apr=/usr/local/apr ######指定apr安装路径
--with-apr-util=/usr/local/apr-util #####指定apr-util安装路径
--enable-mpms-shared=all #####表示此平台的mpm模块都会被安装
--with-mpm=event #####特指定mpm模块为event,mpm模块可以在配置文件中修改

cp /usr/local/apache/bin/apachectl /etc/init.d/httpd 将apache 添加到开机启动
vi /etc/init.d/httpd 
#!/bin/sh下面加入 否则chkconfig --add httpd 会报错# chkconfig:2345 90 17  90 17 是开机 关机加载的顺序# description:这里写什么无所谓下来执行命令把httpd 开机自启
chkconfig --add httpd
chkconfig httpd on

安装成功后 关闭防火墙或者80端口加入iptables ,因为还没配置域名 ,先输入主机地址 进行访问,如出现 it works! 说明apache安装成功,接下来安装mysql php

mysql安装
groupadd mysql 创建组
useradd -g mysql mysql  #如果禁止用户登陆系统 可加参数 -s /sbin/nologin
mkdir -p /data/mysqldb #数据库存放目录
mkdir -p /usr/local/mysql #数据库安装目录

cd mysql-5.6.35/

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DMYSQL_DATADIR=/data/mysqldb \-DMYSQL_USER=mysql \-DMYSQL_TCP_PORT=3306 \-DENABLE_DOWNLOADS=1make && make install
注:重新配置,删除CMakeCache.txt文件
安装完成后修改数据库安装目录 和数据库文件目录权限
cd /usr/local/mysql/chown -R mysql:mysql .
cd /data/mysqldb/
chown -R mysql:mysql .
初始化MySQL数据库
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

复制mysql服务启动配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
复制mysql服务启动脚本
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

把mysql加入PATH路径

vi /etc/profile
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
source /etc/profile

service mysqld start 启动MySQL
mysql -uroot -p进去MySQL 默认空密码 直接回车
mysqladmin -u root password 'rootroot' 修改MySQL密码
允许MySQL远程登陆
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "rootroot";
mysql> flush privileges;
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl
--with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring--with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib--with-libxml-dir=/usr --enable-xml --enable-sockets--with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d 
--with-bz2 --enable-maintainer-zts这个参数比较全面,里面包含mcrypt,如果不去掉这个参数,需要安装 libmcrypt这些依赖库,如暂时用不上的话 可以去掉这个参数
make
make install
cp php.ini-production /etc/php.ini
vi /etc/httpd/httpd.conf
加入以下两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
如果不能解析PHP文件在末尾加入PHPIniDir /etc/php.ini 重启apache 就可以正常解析了
以上就是LAMP编译步骤,里面会有遇到问题和参数介绍,会在另外外文章中介绍,遇到的问题一般都是配置错误,或者依赖库缺少,自行搜索即可解决


相关内容

热门资讯

算力短缺催热“卖水人” 经纬天... 2026年以来,AI智能体(Agent)的大规模落地,正在让Token从“便宜货”变成“硬通货”。与...
湖南石门强降雨搜救持续:村民守... 澎湃新闻记者 廖艳 实习生 林霄自5月17日7时起,湖南常德石门县遭遇极端强降雨天气,瞬时雨量大、致...
美新远程空空导弹初露真容,能缓... 澎湃新闻特约撰稿 王若鸿近日,美国一位航空摄影师拍摄到几架从佛罗里达州埃格林空军基地起飞的美国海军测...
官方通报福建漳州“泡药杨梅”事... 【大河财立方消息】 5月20日晚,福建漳州市食品安全委员会办公室通报:5月15日,媒体报道反映漳州市...
山河湖海,算算生态环境的“三本... 【大河财立方 记者 程帅星 北京报道】 5月20日下午,国务院新闻办公室举行2026年“新征程上的奋...
官方通报“儿童乳膏涉嫌非法添加... 【大河财立方消息】针对今年3月媒体反映广西十安生物科技有限公司生产的“消字号”产品涉嫌非法添加问题,...
山西通报“明长城被露天煤矿长期... 5月20日,山西宁武县委宣传部发布情况通报:近日,有媒体报道神达朝凯煤业相关问题。宁武县委、县政府高...
国务院被掏空,美国外交陷入“空... ◆在美国国务卿鲁比奥的主导下,国务院正全面围绕特朗普的核心议程进行改革。(图源:美联社)文/方晨宇编...
美军“尼米兹”号航母进入加勒比... 新华社华盛顿5月20日电(记者黄强 徐剑梅)美军南方司令部20日在社交媒体发布消息说,美军“尼米兹”...
28个暴雨红色预警信号生效中,... 20日晚,粤西到珠三角南部一带强降水仍在持续,暖湿气流源源不断补充,导致新生成的强降雨云团不断在同一...