centos7源码安装apache+mysql+php搭建LAMP

以下安装系统环境为:vbox虚拟机中安装的64位centos7图形界面系统


yum方式安装gcc,gcc-c++

虚拟机中点击设备,分配光驱(物理的,相当于插入光盘)



打开/media目录,创建centos目录以便挂载光盘

cd /media
mkdir /media/CentOS


挂载光盘(可能要重新进入连接)

mount /dev/cdrom /media/CentOS

进入挂载的centos目录中的

cd /media/CentOS/Packages/


设置yum软件源:禁用所有源,开启c7-media源(挂载的光盘) 并安装gcc,gcc-c++

yum --disablerepo=\* --enablerepo=c7-media install gcc
yum --disablerepo=\* --enablerepo=c7-media install gcc-c++

注:如果没有安装gcc或者gcc-c++,需要按两次y,确认信任源,确定安装,软件自动安装.这里已经安装了gcc和gcc-c++



源码安装Apache

源码安装Apache需要依赖之前安装的gcc与gcc-c++与下面要进行安装的三个源码包

ftp上传源码包

通过ftp将源码包上传到/usr/src


进入/usr/src目录,查看源码包

cd /usr/src
ls

安装Apache的依赖apr

解压apr-1.5.2.tar.gz

tar -zxvf apr-1.5.2.tar.gz


进入解压后的apr目录

注意:后续配置编译安装都是在解压后得到的目录中操作

cd apr-1.5.2


配置编译(安装的路径usr(unix软件源)/local(本地)/apr)

./configure --prefix=/usr/local/apr


编译

make



安装

make install

以上两步可以合并:编译并安装make && make install

安装好后可以进入安装目录查看  进入cd /usr/local/apr/  查看

cd /usr/local/apr/
ls


安装Apache的依赖apr-util

切换到安装包目录

cd /usr/src
解压apr*-util-1.5.4.tar.gz

tar zxvf apr-util-1.5.4.tar.gz
进入解压后的目录

cd apr-util-1.5.4

如果按上一步配置安装路径,此时配置编译路径执行后将提示错误
(刚刚安装的APR没有找到,所以在配置中指定刚刚安装的apr路径)

配置编译

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

编译并安装

make && make install

安装Apache的依赖pcre

cd /usr/src
tar zxvf pcre-8.39.tar.gz
cd pcre-8.39./configure --prefix=/usr/local/pcremake && make install

安装Apache

cd /usr/src
tar zxvf httpd-2.4.20.tar.gzcd httpd-2.4.20
此部需要允许其他软件共享模块,并指定上面安装的依赖路径
./configure --prefix=/usr/local/apache --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
make && make install

安装Apache完毕后测试

关闭防火墙

systemctl stop firewalld.service
启动Apache

/usr/local/apache/bin/apachectl -k start|stop|restart
查看进程

ps -e|grep httpd

通过浏览器访问centos7的ip


自此,Apache已经成功安装

Apache的守护进程管理

1:进入/usr/local/目录,将apacheect1 拷贝到 init.d文件夹中

cd /usr/local/
cp apache/bin/apachectl /etc/init.d/apache
2:需要进入文件增加两个说明类的注释

vi /etc/rc.d/init.d/apache
# chkconfig:35 42 42           
# description:Starts,stops and saves Apache Httpd
增加前

增加后


3:将脚本加入到chkconfig

4:查看chkconfig守护进程,如果有Apache说明成功

chkconfig --add apache
chkconfig


安装PHP(Apache模块)

安装php的依赖

yum --disablerepo=\* --enablerepo=c7-media 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
按两次y自动安装

修改Apache的apxs将php安装成Apache的模块

进入apx文件并编辑

vi /usr/local/apache/bin/apxs
//将第一行改为
#!/usr/bin/perl -w
保存退出



将zxvf php-5.6.22.tar.gz通过ftp传入/usr/src目录

进入/usr/src/目录,解压,进入php-5.6.22

cd /usr/src/
tar zxvf php-5.6.22.tar.gz
cd php-5.6.22
64位编译(安装目录,安装为Apache模块,开启固定的功能)
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64
32位编译
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-pdo-mysql --enable-mbstring --with-gd
安装

make && make install

php配置为Apache的模块

打开http的配置文件,配置PHP与Apache的关联

vi /usr/local/apache/conf/httpd.conf
将php加载为Apache的模块,由于刚刚安装时做过了,这里不用配置(147行)

配置以php结尾的文件加载PHP模块(写到上面的loadModule php5...147行后面)

LoadModule php5_module        modules/libphp5.so
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>

保存,退出

重启Apache

/usr/local/apache/bin/apachectl -k restart

配置php

将PHP配置文件复制到lib目录

cd /usr/src/php-5.6.22
cp php.ini-development /usr/local/php/lib/php.ini
vi /usr/local/php/lib/php.ini
/在;date.timezone =(926行)写入
date.timezone=PRC

重启Apache

/usr/local/apache/bin/apachectl -k restart


安装完毕后测试php

测试,打开htdocs文件夹,写入phpinfo.php并用浏览器访问
cd /usr/local/apache/htdocs
vi 
<?php
phpinfo();
?>
ESC:w phpinfo.php
在浏览器输入 你的ip/phpinfo.php


测试成功


配置Apache与php的环境变量

打开环境配置文件,配置php,Apache环境变量

vi /etc/profile
加到文件最后(80行)
export PATH="$PATH:/usr/local/php/bin:/usr/local/apache/bin"

开启

source /etc/profile

成功配置后再任何目录执行下面代码都可以打印出时间


源码安装MySQL

安装依赖

yum --disablerepo=\* --enablerepo=c7-media install gcc gcc-c++ cmake ncurses-devel

安装mysql

将 mysql-5.6.31.tar.gz 通过ftp上传入/usr/src目录

进入/usr/src,解压,进入解压后目录

cd /usr/src
tar zxvf mysql-5.6.31.tar.gz
cd mysql-5.6.31

使用cmake编译,安装路径,数据目录,编译并安装

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data
make && make install

配置MySQL

进入MySQL目录

cd /usr/local/mysql
创建Linux的mysql用户

useradd mysql
将当前mysql目录的所有文件(-R)更改为mysql用户:mysql组
chown -R mysql:mysql .

允许配置脚本(初始化用户信息)

删除可能的旧的配置/etc/my.cnf

rm -f /etc/my.cnf

以mysql用户运行初始化的脚本
./scripts/mysql_install_db --user=mysql
如果进入ls data/目录中有ibdatal ib_logfile0 ib_logfile1则说明成功了

把所有目录权限改为root,防止其他用户操作,但是data目录权限给mysql用户

chown -R root:root .
chown -R mysql:mysql data



将配置文件拷贝回etc目录

cp support-files/my-default.cnf /etc/my.cnf
管理mysql
后台启动mysql

bin/mysqld_safe --user=mysql &
查看进程
ps -e | grep mysqld

初始无密码,登录后重置密码

客户端登录(mysql文件夹下登录)

bin/mysql -u root -p
登录后

update mysql.user set password=password('root') where user='root';

刷新mysql配置;

刷新mysql配置;

配置mysql守护进程,并查看

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig
出现mysqld,说明成功


安装完毕后测试mysql

测试mysqli扩展

编辑phpinfo

vi /usr/local/apache/htdocs/phpinfo.php
输入

<?php
    
    header('Content-Type: text/html; charset="utf-8"');
    $dsn = 'mysql:host=127.0.0.1;port=3306;charset=utf8;dbname=test';
    $user = 'root';
    $password = 'root';
    $pdo = new PDO($dsn,$user,$password);
    var_dump($pdo);
    
    phpinfo();
?>

访问centos7的ip/phpinfo.php

显示object(PDO)#1 (0) { }说明mysqli扩展成功


至此,LAMP终于搭建好了,尽情享用吧!

 

                
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值