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编译步骤,里面会有遇到问题和参数介绍,会在另外外文章中介绍,遇到的问题一般都是配置错误,或者依赖库缺少,自行搜索即可解决


相关内容

热门资讯

马斯克:地球最强硬件公司仅Sp... 快科技8月5日消息,北京时间8月5日,SpaceX召开2026年第二季度财报电话会议。 SpaceX...
原创 一... 韦布空间望远镜对海王星的卫星和星环进行的新观测,揭示了太阳系边缘这颗行星在数十亿年前经历的一场灾难。...
声网联合爱芯元智推出机器人实时... 近日,声网与全球领先的AI系统芯片(SoC)供应商爱芯元智联合宣布,基于爱芯元智 AX8850N S...
巴西总统:美国撤销驻美大使签证... 当地时间5日上午,巴西总统卢拉在官邸接受采访时表示,美国政府撤销巴西驻美大使签证的决定“不负责任、考...
汉艺精密取得一种直线导轨专利,... 国家知识产权局信息显示,东莞市汉艺精密机械有限公司取得一项名为“一种直线导轨”的专利,授权公告号CN...
40余名台湾青年在闽研学AI电... 漳州8月5日电 (记者 张金川)8月5日,40余名台湾青年在福建省漳州市云霄县圆满结束了他们为期五天...
AI智能体能替你谈判账单吗?实... 用AI来协商经常性账单的费率,是那种永远排在待办清单末尾的琐事。即便每年费用都在上涨,大多数人还是选...
陕西柞水遭遇大暴雨,五千余户群... 8月5日7时至15时,陕西省商洛市柞水县出现大到暴雨、局地大暴雨,杏坪社区地质站最大降雨量135.4...
伊朗与阿曼会谈最新细节曝光 美国有线电视新闻网(CNN)8月5日报道,伊朗和阿曼将敲定一项关于通过霍尔木兹海峡进行商业航运的框架...
大科学装置建设全面提速 创新成... 央视网消息(新闻联播):重大科技基础设施是建设科技强国的利器。今年以来,我国大科学装置建设全面提速,...