在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
结束