linux 系统下源码编译安装搭建自定义lamp环境(linux+apache+mysql+php)

linux 系统下源码编译安装搭建自定义lamp环境(linux+apache+mysql+php)

目地:在linux系统上源码编译安装搭建lamp环境并配置 , 守护进程, 软连接集中管理配置文件, phpmyadmin数据库在线管理

实验操作环境: linux centos7.4 64位 腾讯云服务器

友情连接:  LNMP搭建: https://blog.csdn.net/Dong_Alex/article/details/80712018

apache(httpd)使用2.4 官网源码

php使用5.6 官网源码

mysql使用5.7 官网源码


开始

# 一.安装apache (httpd)
# 安装依赖:gcc, apr, apr-util,apr-iconv, pcre
# 安装gcc
yum install gcc
# apr, apr-util, apr-iconv , pcre yum没有, 需要下载源码安装
# 获取apr
wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.3.tar.gz
# 获取apr-util
wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
# 获取apr-iconv
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-iconv-1.2.2.tar.gz
# 获取pcre
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
# 获取httpd (apache)
wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.29.tar.gz 
# 获取php5.6
wget -c -O  php5.6.36.tar.gz  http://cn2.php.net/get/php-5.6.36.tar.gz/from/this/mirror
# 获取boost mysql5.7及以上版本需要,5.6不需要
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
# 获取mysql5.7
wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22.tar.gz

# 1.安装apr
# 解压apr
tar zxvf apr-1.6.3.tar.gz

# 安装依赖libtool 
yum install libtool

# 进入配置
cd apr-1.6.3/
./buildconf

# 配置
./configure --prefix=/usr/local/apr-1.6.3

# 编译安装
make && make install

# 2.安装apr-iconv 
# 解压
cd apr-iconv-1.2.2/
tar zxvf apr-iconv-1.2.2.tar.gz 

# 配置
./configure --prefix=/usr/local/apr-iconv-1.2.2 --with-apr=/usr/local/apr-1.6.3/bin

# 编译安装
make && make install

# 3.安装apr-util
# 解压 apr-util
tar zxvf apr-util-1.6.1.tar.gz

#  解决报类似#include <expat.h>错误,需yum安装expat: yum install expat-devel 
yum install expat-devel

# 配置
cd apr-util-1.6.1/
# --with-apr=apr 安装bin目录
./configure --prefix=/usr/local/apr-util-1.6.1 --with-apr=/usr/local/apr-1.6.3/bin  --with-apr-iconv=/usr/local/apr-iconv-1.2.2/bin/apriconv

# 编译安装 
 make && make install 

# 4.安装pcre
# 安装依赖 gcc-c++
yum install gcc-c++

# 解压
tar zxvf pcre-8.39.tar.gz
cd pcre-8.39/

# 配置
./configure --prefix=/usr/local/pcre-8.39

# 编译安装
make && make install

# 5.安装apache (httpd)
# 记录下apr, apr-util, apr-iconv , pcre 的安装路径, 配置apache时需要用到

# 安装并更新locate工具数据库
yum install locate  && updatedb

# 查找apr, apr-util,apr-iconv,pcre 安装路径
locate apr | grep bin
locate pcre | grep bin

# 查找结果如下:
# apr 安装路径 	/usr/local/apr-1.6.3/bin
# apr-iconv		 /usr/local/apr-iconv-1.2.2/bin/apriconv
# apr-util 安装路径 	/usr/local/apr-util-1.6.1/bin
# pcre 安装路径	/usr/local/pcre-8.39/bin

# 解压httpd
tar zxvf httpd-2.4.29.tar.gz

#  配置 (切换到解压目录) 一定要加上 enable-so 
cd httpd-2.4.29/
./configure --prefix=/usr/local/httpd-2.4.29/  --with-apr=/usr/local/apr-1.6.3/bin  --with-apr-util=/usr/local/apr-util-1.6.1/bin  --with-apr-iconv= /usr/local/apr-iconv-1.2.2/bin/apriconv   --with-pcre=/usr/local/pcre-8.39  --enable-so

# 编译安装
make && make install

# 查看安装成功没有
locate httpd | grep bin

# 添加到服务
# 从安装目录bin/下 复制apachectl 到/etc/rc.d/init.d/httpd
cp /usr/local/httpd-2.4.29/bin/apachectl /etc/rc.d/init.d/httpd
# 编辑httpd, 加入下面两句 后两个数字表示启动顺序, 不要超100, 下面两句是带# 注释的, chkconfig是能读到的, 这两个必须要加, Description: 这个是描述, 随便写

# chkconfig: 2345 80 81
# Description: this is httpd server

# 添加到守护进程
chkconfig --add httpd

# 管理 
service httpd start|restart|stop|status


# 访问



# 新建一个目录 /myconfig/ , 以后将所有配置文件建立软链接到此目录, 统一管理
mkdir /myconfig
# 为httpd.conf 创建软连接
ln -s /usr/local/httpd-2.4.29/conf/httpd.conf  /myconfig/httpd.conf


# 配置域名

# 运行下面几个命令测试一下有没有错误

# 解决 lynx: command not found
# 这是因为lynx命令不认识,只因缺少lynx包,安装即可:yum install lynx。
yum install lynx

# 安装完lynx , 运行service httpd status 有下面的提示, 该话题属于 apache server-status  , 这里不做多的说明, 不影响使用



# 启动后只要访问出现这个就说明安装apache 成功!


# 二. 安装php
# 1.安装php依赖
yum install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  zlib zlib-devel glibc glibc-devel glib2 glib2-devel libevent

# 2.安装php
# 解压 (切换到压缩包目录下执行)
tar zxvf php5.6.36.tar.gz

# 配置 配置开启需要开启的扩展比如,pdo, mysql gd 并将php做为apache的模块 --apxs2=指向apache bin下的apxs程序 
cd php-5.6.36/
./configure --prefix=/usr/local/php-5.6.36/ --with-apxs2=/usr/local/httpd-2.4.29/bin/apxs  --with-mysql   --with-pdo-mysql  --with-gd

# 更新apache的bin/apxs 文件 将第一行改为perl的位置
# 查看perl 位置
whereis perl 




# apxs 文件第一行改为 perl的位置 参数 -w
# ! /usr/bin/perl -w


#编译安装
make && make install

# 查看 php 信息
/usr/local/php-5.6.36/bin/php -m
# 如下说明安装成功


3.php与apache的绑定
编辑apache主配置文件 httpd.conf
配置如下:
1)
LoadModule php5_module modules/libphp5.so


2) 加入以下代码, 告知apache 将php交由php处理
<FilesMatch \.php$>
 SetHandler application/x-httpd-php
</FilesMatch>


如图:

# 在htdoc 站点目录写一个php测试文件 index.php 内容 <?php phpinfo();?>
# 重启服务器访问
service httpd restart 






# date 警告处理, 配置php时区



从phpinfo 获取到php的配置目录及文件 (/usr/local/php-5.6.36/lib)

# 拷贝php配置文件
从php源码中复制 php.ini-production 到php安装目录的lib目录下改名为php.ini
cp /root/packages/php-5.6.36/php.ini-production /usr/local/php-5.6.36/lib/php.ini

# 备份php.ini
cp /usr/local/php-5.6.36/lib/php.ini /usr/local/php-5.6.36/lib/php.ini.bak

# 创建软连接 方便管理
ln -s /usr/local/php-5.6.36/lib/php.ini /myconfig/php.ini

# 我把所有配置文件统一建立软连接在/myconfig/下, 如图

# 配置php.ini 时区

修改完, 重启服务器 再访问 
service httpd restart



# 三. 安装mysql
# 安装依赖
# gcc, gcc-c++, ncurses-devel, cmake(配置的工具mysql配置不用configure,用cmake)
yum install gcc gcc-c++ cmake ncurses-devel

# 安装boost mysql5.7依赖boost,mysql5.6不依赖
# 在/usr/local/下创建boost目录
mkdir /usr/local/boost
# 进入boost目录
cd /usr/local/boost/
# 下载 boost
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

# 解压
tar zxvf boost_1_59_0.tar.gz


# mysql官网下载mysql源码
https://dev.mysql.com/downloads/mysql/5.7.html#downloads



# 鼠标右键复制下载连接地址, 使用wget 下载
wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22.tar.gz

# 解压
tar zxvf mysql-5.7.22.tar.gz

# 配置安装位置与数据库data位置
# mysql 5.7需要指定 -DWITH_BOOST=/usr/local/boost, mysql5.6及以下不需要
cd mysql-5.7.22/
cmake . -DWITH_BOOST=/usr/local/boost   -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.22 -DMYSQL_DATADIR=/usr/local/mysql-5.7.22/data  

# 编译安装
make && make install

# 配置mysql
# 修改文件权限,要求必须用独立用户管理, 这个用户就叫mysql
# 添加用户
groupadd mysql && useradd -g mysql mysql


# 修改mysql程序权限, 把组改成mysql,用户也改成mysql
修改前:

# 在/usr/local/目录执行 
# 将mysql目录及文件的用户跟组修改为mysql
chown -R mysql:mysql mysql-5.7.22/



# 初始化用户信息前先删除/etc/my.cnf 配置文件
rm /etc/my.cnf

# 初始化用户信息
# 下面是不建议mysql5.7使用的, mysql5.6可以使用,具体看下面,选择自己的版本
# /usr/local/mysql-5.7.22/bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql-5.7.22/data

# mysql5.6 使用下面的
# /scripts/mysql_install_db --user=mysql 

# mysql5.7 建议使用的
/usr/local/mysql-5.7.22/bin/mysqld  --initialize


# 初始化结束后, 会随机生成一个root的密码, 切记保持此密码,后续用到
如图:

本次生成的密码是: 1%fjXAMjDPb6 
# 查看data目录下有没有件, 有说明初始化成功了

# 初始化完成后, mysql目录下除了data目录保留mysql用户,把其它目录通通改为root用户
chown -R root mysql-5.7.22/ && chown -R mysql mysql-5.7.22/data/

# 查看

# 如果是mysql5.6 复制一个配置文件过来 参考


# 如果是mysqsl5.7 手动创建配置文件 touch /etc/my.cnf 写入以下内容,参考:
[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
socket=/tmp/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M

[mysqldump]
quick

# 运行mysqld_safe服务
/usr/local/mysql-5.7.22/bin/mysqld_safe --user=mysql &

# 查看进程
ps -e | grep mysqld





# 连接
/usr/local/mysql-5.7.22/bin/mysql -uroot -p 


复制密码进去

按确定

# 修改密码
# mysql5.6 如下:
# update mysql.user set password=password('你的密码') where user='root';

# mysql5.7 如下:
alter user 'root'@'localhost' identified by '你的密码';

# 刷新权限 5.7不需要
# flush privileges
# quit 退出, 重新用新密码登录

# 将其加入守护进程
# 复制/mysqld.server 到/etc/rc.d/init.d/
cp  /usr/local/mysql-5.7.22/support-files/mysql.server /etc/rc.d/init.d/mysqld
# 修改权限
chmod  a+rx /etc/rc.d/init.d/mysqld 
# 添加到守护进程管理
chkconfig --add mysqld
# 查看
chkconfig --list mysqld
# 测试用守护进程管理方式,停用跟启用
service mysqld stop
service mysqld start

# 四. 安装phpmyadmin
# 下载
wget https://files.phpmyadmin.net/phpMyAdmin/4.8.1/phpMyAdmin-4.8.1-all-languages.zip
# 复制到站点根目录
cp phpMyAdmin-4.8.1-all-languages.zip /usr/local/httpd-2.4.29/htdocs/
# 进入站点根目录, 解压
cd /usr/local/httpd-2.4.29/htdocs/
unzip phpMyAdmin-4.8.1-all-languages.zip
# 改名为phpmyadmin
mv phpMyAdmin-4.8.1-all-languages phpmyadmin


# 访问站点 
http://58.87.95.128/phpmyadmin/index.php

如图:




输入密码登录


#解决一个问题 , 设置不让访问目录



# 编辑httpd.conf
Options Indexes FollowSymLinks
修改为:
Options FollowSymLinks


# 保存后, 重启httpd服务器
service httpd restart


# 访问


# 再配置httpd.conf, 让自动访问index.php


<IfModule dir_module>
     DirectoryIndex index.html index.php
</IfModule>

# 再次访问



LNMP搭建https://blog.csdn.net/Dong_Alex/article/details/80712018

/END


  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: LAMP环境是指在Linux操作系统搭建ApacheMySQLPHP的开发环境。具体步骤如下: 1. 安装Apache服务器:使用命令sudo apt-get install apache2安装Apache服务器。 2. 安装MySQL数据库:使用命令sudo apt-get install mysql-server安装MySQL数据库。 3. 安装PHP:使用命令sudo apt-get install php libapache2-mod-php安装PHP。 4. 测试LAMP环境:在浏览器中输入http://localhost,如果能看到Apache的欢迎页面,则表示LAMP环境已经搭建成功。 5. 配置MySQL:使用命令sudo mysql_secure_installation进行MySQL的安全配置。 6. 配置PHP:编辑/etc/php/7./apache2/php.ini文件,修改其中的一些配置项,如上传文件大小限制等。 7. 配置Apache:编辑/etc/apache2/apache2.conf文件,修改其中的一些配置项,如网站根目录等。 8. 部署网站:将网站文件放置在Apache的网站根目录下,即可通过浏览器访问网站。 以上就是在Linux搭建LAMP环境的步骤。 ### 回答2: LAMP环境是指运行在Linux操作系统上的Web应用程序所需的四个关键组件:Linux操作系统Apache Web服务器、MySQL数据库和PHP编程语言。搭建LAMP环境可以为Web开发者提供一个完整的开发和部署平台。下面是搭建LAMP环境的步骤: 1.安装Linux操作系统:首先需要安装一个Linux操作系统,如CentOS、Ubuntu等。安装方法请参考官方文档或相关教程。 2.安装Apache Web服务器:在Linux系统安装Apache可以使用命令行工具,如yum install httpd、apt-get install apache2等,也可以直接从Apache官网下载代码进行安装安装之后需要对Apache进行一些基本配置,如修改httpd.conf文件等。 3.安装MySQL数据库:在Linux系统安装MySQL也可以使用命令行工具,如yum install mysql-server、apt-get install mysql-server等。安装完成后需要对MySQL进行基本配置,如设置root密码、创建数据库等。 4.安装PHP编程语言:在Linux系统安装PHP可以使用命令行工具,如yum install php、apt-get install php等。安装之后需要对PHP进行一些基本配置,如修改php.ini文件等。 5.测试LAMP环境是否正常:搭建LAMP环境后可以测试一下是否正常工作。首先启动Apache Web服务器和MySQL数据库服务,然后创建一个简单的PHP页面,连接到数据库并输出数据。如果数据能够正常输出,则表示LAMP环境已经搭建成功。 总之,搭建LAMP环境需要一定的技术储备和经验,但是通过仔细阅读官方文档和学习相关教程,大家完全可以自己完成搭建LAMP环境的任务。此外,还可以使用一些现成的软件包或工具来简化LAMP环境安装和管理。 ### 回答3: LAMP环境是指在Linux操作系统搭建ApacheMySQLPHP组合的服务器环境。通过搭建LAMP环境,可以用于开发网站、Web应用程序以及动态网页等。 要搭建LAMP环境,首先要在Linux系统安装ApacheMySQLPHP软件。在安装之前,需要保证Linux系统中已经安装了必要的开发工具和库,如GCC、make、autoconf、libtool等。安装时建议使用系统自带的包管理工具,如yum或apt-get。 1. 安装Apache 在终端中输入以下命令: sudo apt-get update sudo apt-get install apache2 2. 安装MySQL 在终端中输入以下命令: sudo apt-get install mysql-server mysql-client 在安装过程中,会提示输入密码,务必保证密码的安全性和记住密码,因为MySQL是一个关系型数据库,密码是我们连接和访问MySQL数据库的凭证。 3. 安装PHP 在终端中输入以下命令: sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mysql 安装完成后,需要重启Apache服务器: sudo service apache2 restart 4. 测试LAMP环境 编写一个测试页面: sudo nano /var/www/html/index.php 在文件中输入以下代码: <?php //定义一个字符串变量 $message = "Hello, LAMP! This is a test page."; //输出变量的值 echo $message; ?> 保存并退出文件。然后,在Web浏览器中输入http://localhost即可访问测试页面。 这样,一个简单的LAMP环境搭建好了。除了ApacheMySQLPHPLAMP环境还可以整合其他的开发工具和框架,如Perl、Python、Ruby、Django等,这些工具和框架可以根据实际需求进行安装和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值