LAMP环境简单搭建
来源:互联网 发布:淘宝质量问题怎么投诉 编辑:程序博客网 时间:2024/06/02 05:42
一、简介
LAMP 是Linux Apache MySQL PHP的简写,其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言。Apache是最常用的WEB服务软件,而MySQL是比较小型的数据库软件,下面我们就来构建这个LAMP环境。
二、Apache安装
1.下载apache
- 官网地址:http://www.apache.org/
- 官网下载地址:http://mirror.bit.edu.cn/apache/httpd/
- wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.34.tar.bz2
2.编译安装
[root@server1 ~]# useradd www[root@server1 ~]# lsanaconda-ks.cfg httpd-2.2.34.tar.bz2 install.log install.log.syslog[root@server1 ~]# tar -xjf httpd-2.2.34.tar.bz2 [root@server1 ~]# lsanaconda-ks.cfg httpd-2.2.34.tar.bz2 install.log.sysloghttpd-2.2.34 install.log[root@server1 ~]# cd httpd-2.2.34[root@server1 httpd-2.2.34]# ./configure --prefix=/usr/local/apache --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support --disable-userdirchecking whether to enable mod_include... yes (default)checking whether to enable mod_filter... yes (default)checking whether to enable mod_substitute... nochecking whether to enable mod_charset_lite... nochecking whether to enable mod_deflate... checking dependencieschecking for zlib location... not foundchecking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures ##报错缺少zlib[root@server1 httpd-2.2.34]# yum install -y zlib-devel.x86_64 ##缺少zlib,yum安装[root@server1 httpd-2.2.34]# ./configure --prefix=/usr/local/apache --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support --disable-userdir[root@server1 httpd-2.2.34]# make[root@server1 httpd-2.2.34]# make install
安装完成
三、安装PHP
1.下载php
- 官网地址:http://www.php.net/
- 官网下载地址:http://php.net/downloads.php#v5.6.31
- wget http://cn2.php.net/distributions/php-5.6.31.tar.bz2
2.编译安装
[root@server1 ~]# yum install -y libxml2-devel.x86_64 openssl-devel.x86_64 bzip2-devel.x86_64 bzip2-devel.x86_64 t1lib.x86_64 libjpeg-turbo-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64[root@server1 ~]# lsanaconda-ks.cfg httpd-2.2.34 httpd-2.2.34.tar.bz2 install.log install.log.syslog php-5.6.31.tar.bz2[root@server1 ~]# tar -xjf php-5.6.31.tar.bz2[root@server1 ~]# cd php-5.6.31[root@server1 php-5.6.31]# ./configure --help[root@server1 php-5.6.31]# ./configure --prefix=/usr/local/php \> --with-apxs2=/usr/local/apache/bin/apxs \> --with-config-file-path=/usr/local/php/etc \> --with-mysql=/usr/local/mysql \> --with-libxml-dir \> --with-gd \> --with-jpeg-dir \> --with-png-dir \> --with-freetype-dir \> --with-iconv-dir \> --with-zlib-dir \> --with-bz2 \> --with-openssl \> --with-mcrypt \> --enable-soap \> --enable-gd-native-ttf \> --enable-ftp \> --enable-mbstring \> --enable-sockets \> --enable-exif \> --disable-ipv6checking for working memcmp... yeschecking for stdarg.h... (cached) yeschecking for mcrypt support... yesconfigure: error: mcrypt.h not found. Please reinstall libmcrypt. ##提示找不到mcrypt.h,需要安装libmcrypt[root@server1 php-5.6.31]#cd[root@server1 ~]# lsanaconda-ks.cfg install.log php-5.6.31httpd-2.2.34 install.log.syslog php-5.6.31.tar.bz2httpd-2.2.34.tar.bz2 libmcrypt-2.5.8-9.el6.x86_64.rpm[root@server1 ~]# wget http://www6.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/libmcrypt-2.5.7-5.el6.art.x86_64.rpm[root@server1 ~]# wget http://www6.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/libmcrypt-devel-2.5.7-5.el6.art.x86_64.rpm[root@server1 ~]# yum install -y libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.7-5.el6.art.x86_64.rpm##再继续
[root@server1 php-5.6.31]# make ##可以喝杯茶了[root@server1 php-5.6.31]# make test[root@server1 php-5.6.31]# make install[root@server1 php-5.6.31]# mkdir /usr/local/php/etc[root@server1 php-5.6.31]# cp php.ini-dist /usr/local/php/etc/php.ini
这里安装完成了,如果要测试可以用以下方式
[root@server1 ~]# yun install -y httpd.x86_64[root@server1 ~]# service httpd start[root@server1 ~]# vim /var/www/html/index.php<?php phpinfo();?>
浏览器输入ip看到php的欢迎页面即为成功,由于我后面要进行apache源码编译安装,这里不做测试了
四、apache结合php
Apache主配置文件为:/usr/local/apache2/conf/httpd.conf
[root@server1 ~]# cd /usr/local/apache/conf/[root@server1 conf]# lsextra httpd.conf httpd.conf.bak magic mime.types original[root@server1 conf]# vim httpd.conf310 AddType application/x-gzip .tgz311 AddType application/x-httpd-php .php ##注意 .php 前有一个空格170 <IfModule dir_module>171 DirectoryIndex index.html index.htm index.php172 </IfModule>391 # Server-pool management (MPM specific)392 Include conf/extra/httpd-mpm.conf406 # Real-time info on requests and configuration407 Include conf/extra/httpd-info.conf408 409 # Virtual hosts410 Include conf/extra/httpd-vhosts.conf418 # Various default settings419 Include conf/extra/httpd-default.conf
配置apache的进程管理以及虚拟主机
1. 配置Apache进程管理
配置文件为:/usr/local/apache/conf/extra/httpd-mpm.conf
[root@server1 conf]# vim /usr/local/apache/conf/extra/httpd-mpm.conf <IfModule mpm_prefork_module> ServerLimit 2048 新添加 StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 1024 默认最大为256,设置为超过256必须增加有ServerLimit MaxRequestsPerChild 0</IfModule>
2. 配置Apache虚拟主机
配置文件为:/usr/local/apache/conf/extra/httpd-vhosts.conf
[root@server1 conf]# mkdir -p /myapache/www[root@server1 conf]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf<VirtualHost *:80> ServerAdmin root@example.com DocumentRoot "/myapache/www" ServerName www.fang.com ErrorLog "logs/dummy-host2.example.com-error_log" CustomLog "logs/dummy-host2.example.com-access_log" common</VirtualHost>
说明:
ServerAdmin 参数后为管理员email
DocumentRoot 指的是域名文件存放的目录
ServerName 域名
ErrorLog 是域名错误日志
CustomLog 是域名访问日志
[root@server1 ~]# vim /usr/local/apache/conf/httpd.conf103 #ServerName www.example.com:80104 ServerName www.fang.com:80
3.配置Apache缺省httpd设置
配置文件为:/usr/local/apache/conf/extra/httpd-default.conf
[root@server1 conf]# vim /usr/local/apache/conf/extra/httpd-default.conf#KeepAlive OnKeepAlive Off
4.配置Apache的访问权限
vim /usr/local/apache/conf/httpd.conf119 <Directory />120 Options FollowSymLinks121 AllowOverride None122 Order deny,allow123 #Deny from all124 Allow from all125 </Directory>
5.配置Apache的运行账户
vim /usr/local/apache/conf/httpd.conf 70 #User daemon 71 #Group daemon 72 User www 73 Group www
配置完上述内容之后,启动Apache,浏览器输入ip测试访问
[root@server1 ~]# echo "<?php phpinfo(); ?>" > /myapache/www/index.php[root@server1 conf]# ln -s /usr/local/apache/bin/apachectl /etc/init.d/[root@server1 conf]# /etc/init.d/apachectl start
LAMP 架构简单架设
以上实现的是LAP(Linux + Apache + PHP),下面我们将进行LAMP的架设
1.安装mysql
源码编译过程较长,写在一起略显臃肿,故单独拿出来了,请移步笔者的另一篇博客《MySQL5.7.17源码编译安装与配置 》(传送门:http://t.cn/R0VhqKq)
2.启动mysql
[root@server1 ~]# /etc/init.d/mysqld status ERROR! MySQL is not running[root@server1 ~]# /etc/init.d/mysqld startStarting MySQL. SUCCESS! [root@server1 ~]# netstat -tulnp | grep :3306 ##检查启动结果tcp 0 0 :::3306 :::* LISTEN 2281/mysqld mysqladmin -u root password ‘mypasswd’ ##修改密码(非必须,,这里只是方便你设置成自己容易记住的密码)
3.安装配置phpMyAdmin
安装好MySQL,Apache及PHP后,为了可视化的管理MySQL数据库,我们可以安装phpMyAdmin。到其官网下载最新版本:https://www.phpmyadmin.net/
[root@server1 ~]# unzip phpMyAdmin-4.7.4-all-languages.zip[root@server1 ~]# mv phpMyAdmin-4.7.4-all-languages/* /myapache/www/[root@server1 phpmyadmin]# cp libraries/config.default.php config.inc.php
- phpMyAdmin的配置
我们通过身份验证模式可以有两种配置方案,http和cookie身份验证模式。在这两种模式下,用户必须先在一个登录窗 口里输入MySQL数据库的有效用户名和密码,才能使用phpMyAdmin程序。这种做法有两个明显的好处;首先,因为MySQL数据库的密码没有出现在config.inc.php文件里,所以身份验证过程更加安全;其次,允许以不同的用户身份登录对自己的数据库进行管理。这两种身份验证模式尤其适合数据库中多个用户账号的情况。
第二种方案是,config身份验证模式。这种情况下,密码以明文形式保存在config.inc.php文件里。只需要把MySQL用户 名和密码直接写入到config.inc.php文件即可。这样,在登录phpMyAdmin时就不会提示输入用户名和密码了,而只直接用 config.inc.php文件里写入的用户登录 。如果只是在一个本地测试系统上使用phpMyAdmin,可以使用这种模式。
1)、http身份验证模式
如果想让phpMyAdmin使用HTTP身份验证模式,首先需要在config.inc.php文件做如下修改:
[root@server1 phpmyadmin]# vim config.inc.php$cfg['Servers'][$i]['auth_type'] = 'http';[root@server1 phpmyadmin]# /etc/init.d/apachectl restart
当完成设置之后,我们启动phpMyAdmin时,屏幕上将弹出一个WEB浏览器对话框,需要在这个对话框里输入MySQL用户名和密码,才能进入 phpMyAdmin操作界面。如下图示
登陆过程中可能会报错 #1130 - Host ‘server1’ is not allowed to connect to this MySQL server
如图
出现这种情况可能是你的帐号不允许从远程登陆,只能在localhost登陆。这个时候只要在mysqql的那台主机,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”即可
[root@server1 ~]# mysql -uroot -pmypasswdmysql> use mysql;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select host, user from user; ##查看一下,果然如此+-----------+-----------+| host | user |+-----------+-----------+| localhost | mysql.sys || localhost | root |+-----------+-----------+2 rows in set (0.00 sec)mysql> update user set host = '%' where user = 'root' and host='localhost'; ##修改登陆权限Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> select host, user from user;+-----------+-----------+| host | user |+-----------+-----------+| % | root || localhost | mysql.sys |+-----------+-----------+2 rows in set (0.00 sec)mysql> exitBye[root@server1 ~]# /etc/init.d/mysqld restart
再登陆就ok了
2)、cookie身份验证模式
cookie身份验证模式是HTTP身份验证模式的补充,不能使用HTTP身份验证模式的场合都可以使用它。cookie身份验证模式要求用户必须允许来自phpMyAdmin的cookie进入自己的计算机。即用户需要在浏览器中开启客户端的cookie功能。
如果想让phpMyAdmin使用cookie身份验证模式,除了必须修改config.inc.php文件里的auth_type语句外, 还必须向blowfish_secret参数提供一个字符串。这个字符串可以是任意的,目的是在把登录时使用的用户和密码存储在客户端电脑上的 cookie之前,系统将会使用这个字符串对它们进行加密。在config.inc.php中修改的内容如下:
[root@server1 phpmyadmin]# vim config.inc.php $cfg['blowfish_secret'] = 'asdfghjkl';$cfg['Servers'][$i]['auth_type'] = 'cookie';[root@server1 phpmyadmin]# /etc/init.d/apachectl restart
测试访问和上面一样,需要输入用户名和密码才能访问
3)、config身份验证模式
[root@server1 phpmyadmin]# vim config.inc.php$cfg['Servers'][$i]['auth_type'] = 'config';$cfg['Servers'][$i]['user'] = 'root';$cfg['Servers'][$i]['password'] = 'mypasswd';[root@server1 phpmyadmin]# /etc/init.d/apachectl restart
直接访问 http://172.25.20.1/phpmyadmin/ 即可,不用输入用户名和密码
- LAMP环境简单搭建
- LAMP运行环境的简单搭建
- lamp环境搭建
- LAMP环境的搭建
- Ubuntu LAMP环境搭建
- LAMP环境的搭建
- 搭建LAMP环境
- 搭建LAMP测试环境
- LAMP环境搭建
- LAMP环境搭建
- LAMP环境搭建过程
- lamp环境搭建
- Lamp环境搭建
- Ubuntu 搭建LAMP环境
- LAMP环境搭建
- 源码搭建lamp环境
- LAMP环境搭建
- Ubuntu搭建LAMP环境
- VMware虚拟机Linux桥接模式访问外网配置(补充)
- 搭建静态网页-day8-个人学习笔记
- WebService实践(一)
- bzoj 2733 [HNOI2012]永无乡 并查集+平衡树
- Spring Cloud 微服务实战——第1章 基础知识
- LAMP环境简单搭建
- 用HTML5实现手机摇一摇的功能并配上声音
- 交互式网页应用的网页开发技术Ajax简单介绍
- C++函数
- Minimum Distance in a Star Graph
- hrbust 软件与微电子学院 ACM 2017 级新人热身程序竞赛
- Maven POM中的各种scope的行为总结
- 为ListCtrl列表控件设置颜色
- java 行为型模式 观察者模式