一、LAMP平台概述
- LAMP架构:
LAMP平台是协同工作的一整套系统和相关软件,能够提供动态Wen站点服务
以及应用开发环境
,是目前最为成熟也是比较传统的一种企业网站应用模式
- 构成组件:
(1)Linux系统: LAMP架构的基础,提供用于支撑Web站点的操作系统
(2)Apache网站服务: LAMP架构的前端,向用户提供网站服务、发送网页、图片等文件内容
(3)MySQL数据库服务: LAMP架构的后端,存储各种账号信息、产品信息、客户资料、业务数据等,其他程序可以通过SQL语句进行查询、更改
(4)PHP/Perl/Python编程语言: 负责解释动态网页文件,提供Web应用程序开发和运行环境
- LAMP服务平台的优势:
(1)成本低廉: 开源,可快速获得免费使用
(2)可定制: 拥有大量的额外组件和扩展功能模块,可以根据需要定制或者自行开发添加新功能
(3)易于开发: 代码简洁,与HTML语言结合度高,容易修改网页代码
(4)方便易用: PHP、Perl属于解释性语言,开发的程序不需要编译,可以直接移植使用
(5)安全和稳定: 开源优势,发现问题能够很快解决
二、安装LAMP平台
- 安装顺序
Linux系统——Apache服务器——Mysql数据库——PHP环境
(PHP一般放在最后,其他的没有严格要求)
(1)安装Linux系统(略)
(2)安装Apache服务器软件(点击下面链接)
(3)安装mysql数据库(点击下面的链接)
(4)安装PHP软件包
******避免发生程序冲突,先卸载用RPM方式安装的PHP以及相关依赖包 [root@LAMP ~]# rpm -e php php-cli php-ldap php-common php-mysql –nodeps 错误:未安装软件包 php 错误:未安装软件包 php-cli 错误:未安装软件包 php-ldap 错误:未安装软件包 php-common 错误:未安装软件包 php-mysql 错误:未安装软件包 –nodeps ******挂载镜像文件 [root@LAMP ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 ******安装PHP的依赖包 [root@LAMP ~]# yum -y install zlib-devel xz-devel libxml2-devel 。。。。。 完毕! ******安装扩展工具库(libmcrypt、mhash、mcrypt 等) (1)安装libmcrypt(上传源码包libmcrypt-2.5.8.tar.gz) [root@LAMP ~]# tar zxvf libmcrypt-2.5.8.tar.gz -C /usr/src/ [root@LAMP ~]# cd /usr/src/libmcrypt-2.5.8/ [root@LAMP libmcrypt-2.5.8]# ./configure && make &&make install (配置编译安装) [root@LAMP libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/ (优化执行路径) (2)、安装mhash(上传源码包mhash-0.9.9.9.tar.gz)(记得要cd到家目录) [root@LAMP ~]# tar zxvf mhash-0.9.9.9.tar_20190806_170830.gz -C /usr/src/ [root@LAMP ~]# cd /usr/src/mhash-0.9.9.9/ [root@LAMP mhash-0.9.9.9]# ./configure && make && make install (配置编译安装) [root@LAMP mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib/ (优化执行路径) (3)、安装mcrypt(上传源码包mcrypt-2.6.8.tar.gz)(记得cd到家目录) [root@LAMP ~]# tar zxvf mcrypt-2.6.8.tar.gz -C /usr/src/ [root@LAMP ~]# cd /usr/src/mcrypt-2.6.8/ [root@LAMP mcrypt-2.6.8]# ./configure (发现报错了) 解决报错:export LD_LIBRARY_PATH=/usr/local/lib 再次配置: [root@LAMP mcrypt-2.6.8]# ./configure (发现成功) [root@LAMP mcrypt-2.6.8]# make && make install (编译并安装) ******编译安装PHP(上传源码包php-5.5.38.tar.gz)(记得cd到家目录) [root@LAMP ~]# tar zxvf php-5.5.38.tar.gz -C /usr/src/ [root@LAMP ~]# cd /usr/src/php-5.5.38/ [root@LAMP php-5.5.38]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring && make && make install (配置编译安装) 至此,安装PHP软件包完成
三、设置LAMP组件环境
PHP配置文件 php.ini 的配置
Apache 服务器配置文件 httpd.conf 的配置
(1)php.ini 的调整
注意:安装php软件包后,服务器不会自动创建 php.ini 配置文件
源码包自带两个样例文件:
/usr/src/php-5.5.38/php.ini-development (开发环境,用于学习,测试)
/usr/src/php-5.5.38/php.ini-production (生产环境,用于实际运营)
******因为是实验环境,所以要复制样例文件到PHP的配置文件目录/usr/local/php5 下,并改名为php.ini [root@LAMP ~]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini (该配置文件直接使用默认配置,不做任何修改) ******添加一个优化模块:ZendGuardLoader (可以提高PHP的执行效率,优化页面的加载速度) (上传源码包zend-loader-php5.5-linux-x86_64_update1.tar.gz ,记得cd到家目录) [root@LAMP ~]# tar zxvf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/ (解压模块) zend-loader-php5.5-linux-x86_64/ zend-loader-php5.5-linux-x86_64/ZendGuardLoader.so zend-loader-php5.5-linux-x86_64/opcache.so zend-loader-php5.5-linux-x86_64/README.txt [root@LAMP ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/ [root@LAMP zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/ (复制模块文件到PHP程序模块文件夹下) [root@LAMP zend-loader-php5.5-linux-x86_64]# vim /usr/local/php5/php.ini (修改配置文件,添加加载以及启用这个配置模块) 1 [PHP] 2 zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so (添加,模块所在位置) 3 zend_loader.enable=1 (添加,启动该模块配置) 4 ;;;;;;;;;;;;;;;;;;; 5 ; About php.ini ; 6 ;;;;;;;;;;;;;;;;;;; 7 ; PHP's initialization file, generally called php.ini, is responsible for 8 ; configuring many of the aspects of PHP's behavior. 。。。。。 保存退出
(2)httpd.conf 的调整
让httpd服务器支持php页面解析功能
******修改httpd.conf配置文件(记得cd到家目录) [root@LAMP ~]# vim /usr/local/httpd/conf/httpd.conf 添加这两个配置项LoadModule php5_module modules/libphp5.so (默认就有,不用改) 。。。。。 247 248 # 249 # Controls who can get stuff from this server. 250 # 251 Require all granted 252 AddType application/x-httpd-php .php (添加对PHP 网页文件的支持) 253 </Directory> 254 255 # 256 # DirectoryIndex: sets the file that Apache will serve if a d irectory 257 # is requested. 。。。。。 257 # is requested. 258 # 259 <IfModule dir_module> 260 DirectoryIndex index.html index.php (添加默认搜索对php 页面的支持) 261 </IfModule> 262 263 # 264 # The following lines prevent .htaccess and .htpasswd files f rom being 。。。。。。 保存退出 ******重启httpd服务 [root@LAMP ~]# systemctl restart httpd
四、测试LAMP协同工作
- 测试php页面能否正常显示
******编写php网页文件 [root@LAMP ~]# vim /usr/local/httpd/htdocs/test1.php 写入 <?php phpinfo(); ?> 保存退出 ******重启httpd服务 [root@LAMP ~]# systemctl restart httpd
开一台win7,调配好网址、网卡后测试php网页页面,访问192.168.100.7/test1.php,发现可以访问成功
******编写第二个php网页文件 [root@LAMP ~]# vim /usr/local/httpd/htdocs/test2.php 添加 <?php $link=mysqli_connect('localhost','root','123.com'); (这个就是mysql数据库的用户名和密码,一定要和mysql数据库的用户名称、密码一致,localhost是本机) if($link) echo "恭喜你,数据库连接成功啦!!"; mysqli_close($link); ?> 保存退出 ******重启httpd服务 [root@LAMP ~]# systemctl restart httpd
再次使用win7访问192.168.100.7/test2.php,发现可以访问成功,但是是乱码,改一下浏览器编码为utf-8即可
五、扩展(安装phpmyadmin系统)
安装完成后可以图形化管理mysql数据库
******上传原吗包phpMyAdmin-4.7.2-all-languages.tar.gz(要记得cd到家目录) [root@LAMP ~]# tar zxvf phpMyAdmin-4.7.2-all-languages.tar.gz [root@LAMP ~]# cp -rf phpMyAdmin-4.7.2-all-languages /usr/local/httpd/htdocs/phpMyadmin (复制到网站根目录下,并重命名为phpMyadmin) [root@LAMP ~]# cd /usr/local/httpd/htdocs/phpMyadmin [root@LAMP phpMyadmin]# cp config.sample.inc.php config.inc.php (建立配置文件) ******重启httpd服务 [root@LAMP phpMyadmin]# systemctl restart httpd ******修改mysql主配置文件 (cd到家目录) [root@LAMP ~]# vim /etc/my.cnf 。。。。。。 27 # join_buffer_size = 128M 28 # sort_buffer_size = 2M 29 # read_rnd_buffer_size = 2M 30 skip-name-resolve (添加,跳过主机名检测) 31 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 保存退出 ******重启mysql数据库 [root@LAMP ~]# systemctl restart mysqld
使用win7访问192.168.100.7/phpMyadmin 发现访问成功
- 用户名:root
- 密码:123.com (我的密码是123.com)
(这里的用户名和密码就是数据库的用户和密码)
现在就可以通过图形界面来管理mysql数据库了
登陆后