linux下编译安装开发环境apache+mysql+php-lamp

来源:互联网 发布:xfun吃货俱乐部淘宝 编辑:程序博客网 时间:2024/05/18 02:42

在windows下搭建环境已经很熟悉了,现在来试试linux下搭建环境(非一键安装)

第一步,准备

fileizilla,linux系统(我用的centos6.6),对应的包:1.apr-1.5.2.tar.gz 2.apr-util-1.5.4.tar.gz  3.httpd-2.4.25.tar.gz 4.mysql-5.6.31.tar.gz  5.php-5.6.30.tar.gz  6.pcre-8.39.tar.gz


开始:

在远程服务器中也就是linux中创建存放软件包的目录,我的是在home区中创建了packages目录用来存放,然后用filezilla软件将包上传至这个目录


创建目录 mkdir /media/CentOS   //挂载点

cd /media 之后执行mount /dev/cdrom /media/CentOS //挂载光盘 ,将/dev/cdrom 挂载到/media/CentOS中


PS:挂载

linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。

这里说的“按一定方式”就是指的挂载。

将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,称为挂载。该子目录称为挂载点。

1.挂载点必须是一个目录。2.一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。

挂载使用 mount命令(linux挂载,参考https://www.cnblogs.com/irisrain/p/4201947.html)

-----

安装软件依赖

cd /media/CentOS 执行 yum --disablerepo=\* --enablerepo=c6-media list gcc gcc-c++ //查看gcc gcc-c++是否存在于本地源c6-media

PS:yum

Yellow dog Updater,Modified,大黄狗安装升级,是一个shell的前端软件包管理器

基于rpm管理,能够从指定的服务器自动下载rpm软件包并且安装,可以自动的解决依赖性关系,安装软件依赖

*rpm管理请参考http://blog.51cto.com/luoshixin/1440664

---

yum --disablerepo=\* --enablerepo=c6-media install gcc gcc-c++ //安装gcc gcc-c++类似于windows的vc++2015这些vc库

安装apr(apache的可移植运行环境)

cd 然后 cd packages 也就是进入我们存放包的目录

解压缩包

tar -zxvf apr-1.5.2.tar.gz

cd apr-1.5.2 执行 ./configure --prefix=/usr/local/apr //开始编译安装

完成后执行 make && make install //编译 安装

参考blog.51cto.com/wangqiyong/367049

安装apr-util(apache的可移植运行环境实体库)

tar -zxvf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

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

make && make install   //一般源码安装都是走这5步1.tar 2.cd 3../configure 4.make 5.make install

PS:apr和apr-util这两个软件是对后端服务软件进行优化的。因为apache作为前端web服务器软件,如果要整合一些后端的web服务器软件的话,如tomact,就要用到这两个软件。这两个软件系统是自带的,也可以下载源码包安装。以模块的形式编译进apache,所以在编译apache之前要先编译这两个

---

安装pcre(是一个perl库,包括perl兼容的正则表达式库)

tar -zxvf pcre-8.39.tar.gz

cd pcre-8.39

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

make && make install


安装apache

tar -zxvf httpd-2.4.25.tar.gz

cd httpd-2.4.25

./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

*--enable-so:代表安装共享模块

apache启动服务

首先关闭防火墙

cd /bin 执行 service iptables stop

启动apache /usr/local/apache/bin/apachectl -k start

ps -e | grep apachectl //查看服务,没有

添加守护进程

cp /usr/local/apache/bin/apachectl /etc/init.d/apache //拷贝apache的启动程序到守护进程的目录

vim apache

在第一行注释后面加两行注释

#chkconfig:35 43 43

#description:Starts,stops and saves Apache Httpd

启动apache service apache start

chkconfig --list apache 查看

*两行注释是为啥?

php的安装

先安装软件依赖

yum --disablerepo=\* --enablerepo=c6-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

libxml2:是一个C语言的XML程序库
freetype:字体库
libjpeg,libpng:使用的 JPEG PNG图像压缩库
Autoconf:是一个用于包,以适应多种Unix类系统的 shell脚本的工具
zlib:提供数据压缩用的函式库
glibc:linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc

正式安装

tar zxvf php-5.6.30.tar.gz

cd php-5.6.30

# 64位

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-pdo-mysql --with-mysql --with-mysqli --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的关联

vim /usr/local/apache/conf/httpd.conf

# 加入在加载了PHP模块之后  //在LoadModule php5_module  modules/libphp5.so之后(150行之后ps:可以配置一下行号,在家目录下vim .vimrc 输入 :set nu 保存退出,这样看文件前面就有行号提示了)

<FilesMatch "\.php$">
    
SetHandler application/x-httpd-php

</FilesMatch>

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

添加PHP配置文件

cp /php5.6/php.ini-development /usr/local/php/lib/php.ini

vim /usr/local/php/lib/php.ini
修改:date.timezone = PRC // 大概930行

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

.配置虚拟主机

在主配置文件中:
/usr/local/apache/conf/httpd.conf

开启虚拟主机:
vim /usr/local/apache/conf/extra/httpd-vhosts.conf  //481行

配置域名:
<VirtualHost *:80>
     DocumentRoot "/usr/local/apache/htdocs"
     ServerName www.mylamp.com
</VirtualHost>

域名解析

在本地电脑hosts文件中添加 linux的ip地址 映射域名www.mylamp.com

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

运行文件测试

cd /usr/local/apache/htdocs

touch myphp.php

vim myphp.php

输入

<?php

phpinfo();


保存退出

在浏览器中测试

www.mylamp.com/myphp.php


mysql的安装

安装依赖

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

CMake是一个跨平台的安装(编译)工具。
ncurses指的是提供字符终端处理库。

make && make install


配置mysql

cd /usr/local/mysql

创建mysql用户和mysql组

groupadd mysql

创建一个mysql系统用户它属于mysql组

useradd -r -g mysql mysql

ll查看属主属组

将所有目录改变属组和属主

chown -R mysql:mysql .

删除可能旧的配置

rm -f /etc/my.cnf

安装mysql系统表

./scripts/mysql_install_db --user=mysql

将所有目录改成root属主和mysql属组(root:mysql).data除外(mysql:mysql)my.cnf(root:root)

拷贝配置文件到etc目录下

cp support-files/my-default.cnf /etc/my.cnf

启动mysqld

bin/mysqld_safe --user=mysql &

登录mysql的客户端

/usr/local/mysql/bin/mysql -uroot -p //初始不用密码

给用户设置一个密码

use mysql

select user,password,host from mysql.user;//查看

update mysql.user set password=password('123') where user='root';//设置密码,可以自定义

添加守护进程
cp supprot-files/mysql.server /etc/init.d/mysqld

cd /etc/init.d

chkconfig --add mysqld

配置环境变量

vim /etc/profile

在文件最后加上

export PATH="$PATH:/usr/local/php/bin:/usr/local/apache/bin:/usr/local/mysql/bin"

使环境变量生效

source /etc/profile

查看环境变量

echo $PATH;

之后启动mysql服务器端

service mysqld start


结束

阅读全文
0 0
原创粉丝点击