LAMP(Linux+Apache+MySQL+PHP)基础配置、搭建

LAMP(Linux+Apache+MySQL+PHP)基础配置、搭建 LAMP(LinuxApacheMySQLPHP)基础配置、搭建LAMP的简要介绍web网站平台-LAMP的搭建方式LinuxApacheMySQLPHPApache实现网页共享传输MySQL:实现数据存储数据库PHP实现页面解析的解析器准备工作本配置适用于Centos7.91.关闭防火墙关闭selinux#关闭防火墙和永久关闭防火墙systemctl stop firewalld systemctl disable firewalld#临时把selinux改成宽容模式和永久关闭selinuxsetenforce0vim/etc/selinux/config将 SELINUXenforcing 修改为 SELINUXdisabled2.使用SFTP上传所需的安装包使用SFTP软件把所需的安装包放入/opt/LAMP先创建一个mkdir-pv/opt/lamp ll /opt/lamp/3.为主机配置IP地址cat/etc/sysconfig/network-scripts/ifcfg-ens33确认主机ipip-4a4.配置YUM源配置阿里源mount/dev/cdrom /mediacurl-o/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache配置epel软件源yuminstall-yepel-release yum repolist**5.查看是否开启服务号和资源内存**确认80|3306|443端口对应的进程是否存在若存在对应的服务则正常关闭该服务并将该服务对应的开机自启动也一并关闭ss-tulanp|grep-E80|443|3306ps aux | grep 进程名称确认服务器资源是否够用free-gfree-mdf-Thlscpu#(建议2核心往上)6.安装编译环境yum-yinstallgcc* make* openssl-devel实际企业级环境千万不要gcc*一般安装gcc,gcc-c足够了。yum-yinstallgcc gcc-cmakeopenssl-devel安装Apache安装编译所需要的信赖软件包yum-yinstallapr apr-util apr-util-devel pcre pcre-devel apr-devel apr-util-develapr:Apache可移植运行库。pcreperl语言兼容正则表达式是一个用C语言编写的正则表达式函数库。软件包在这个里面下载把文件放到这里mkdir /opt/lamp/https://download.csdn.net/download/2502_94124179/92890925安装Apache进入软件包放入的位置/opt/lamp下cd/opt/lamptarxvfz httpd-2.4.28.tar.gz-C/usr/src/cd/usr/src/httpd-2.4.28/ ./configure--prefix/usr/local/apache2428\--enable-so\--enable-rewrite\--enable-ssl\--with-ssl/usr/local/ssl\--with-mpmprefork;#–prefix 指定安装路径#–enable-so 让 apache 核心装载 DSO动态共享目标#–enable-rewrite 启用重写功能#–enable-modules 将模块编译到 apache 中#–enable-ssl 打开 ssl 协议#–with-mpm 指定运行模型make-jnporcmakeinstall;echo$?编译安装后的的Apche的服务路径ll /usr/local/apache2428/安装OpenSSL进入软件包放入的位置/opt/lamp下cd/opt/lamp1.解压到/usr/src目录tarxvfz openssl-1.0.2m.tar.gz-C/usr/src/2. 配置 编译 安装cd/usr/src/openssl-1.0.2m/ ./config--prefix/usr/local/ssl--shared;echo$?makemakeinstall;echo$?编译安装后的OpenSSL的服务路径ll /usr/local/ssl–shared生成动态链接库OpenSSL是一个开放源代码的软件库包应用程序可以使用这个包来进行安全通信避免窃听同时确认另一端连接者的身份3.配置启动脚本cp-av/usr/local/apache2428/bin/apachectl /etc/init.d/httpd//复制apachectl脚本vim/etc/init.d/httpd#!/bin/sh#chkconfig:35 85 21#description:apache!…35运行级别 85系统开机时服务启动的顺序 21系统关机时服务关闭的顺序chkconfig--addhttpd#将httpd添加为系统服务chkconfig--listhttpd#查看httpd服务的自启动状态systemctl start httpd.service#启动httpd服务确认进程指向的路径必须是编译安装的路径才可以注编译安装成功后安装在/usr/local/apache2428/ 目录下配置文件/usr/local/apache2428/conf/httpd.conf启动命令/usr/local/apache2428/bin/apachectl默认网站家目录/usr/local/apache2428/htdcos浏览器输入自己服务器的IP地址安装Mysql5.7二进制开箱就可以用解压后即可直接使用.[二进制主程序配置文件]注入Mysql5.7安装目录/usr/local/mysql,数据库存储目录/data/mysql安装包位置/usr/src1.解压包到/usr/src/目录cd/opt/lamptarxvfz mysql-5.7.32-el7-x86_64.tar.gz-C/usr/src2.移动并修改文件名cd/usr/src/mv-vmysql-5.7.32-el7-x86_64/ /usr/local/mysql ll /usr/local/mysql/3.创建数据库存储目录cdmkdir-pv/data/mysql4.新建mysql用户、组,指定mysql账户宿主目录useradd-r-s/sbin/nologin-d/usr/local/mysql/ mysqlidmysqlgrepmysql /etc/passwd5.改变/usr/local/mysql属主和属组为mysql /data/mysql 属主为mysqlchown-Rmysql:mysql /usr/local/mysql/ ll /usr/local/mysqlchown-Rmysql /data/mysql ll /usr/local/mysql6.配置参数cd/usr/local/mysql/ ./bin/mysqld--initialize\--usermysql\--basedir/usr/local/mysql\--datadir/data/mysql;echo$?临时密码cE_bxk02oZ_B这里是我的临时密码要换成你自己的//initialize初始化 basedir 安装目录 /data/mysql 数据库存储目录MySQL数据库初始化成功的标志ls-lhrt/data/mysql/7.修改系统配置文件1)将my.cnf另存到/etc目录\cp-av/opt/lamp/my.cnf /etc/2)复制改名脚本控制程序cd/usr/local/mysql/support-files/cpmysql.server /etc/init.d/mysql3)编辑修改脚本控制程序指定程序运行命令和数据库存储目录vim/etc/init.d/mysql##第46行补充basedir/usr/local/mysqldatadir/data/mysql##第46行补充8.启动mysql验证chmod755/etc/init.d/mysql#修改控制脚本执行权限chkconfig--addmysql#添加服务chkconfig--level345mysql on#设置启动级别systemctl start mysql#启动服务psaxu|grepmysqldss-tulanp|grepmysqld(使用上面的临时密码cE_bxk02oZ_B)要改成你自己的#进入数据库/usr/local/mysql/bin/mysql-uroot-pcE_bxk02oZ_B#修改密码为rootsetpasswordpassword(root);#退出重新登录exit;/usr/local/mysql/bin/mysql-uroot-proot安装PHP1、安装能够直接安装的依赖包systemd-devel systemd 开发邮件列表Libxml2是一个xml c语言版的解析器本来是为Gnome项目开发的工具是一个基于MIT License的免费开源软件。如果你安装基于libxml2开发的软件那么你只需要安装libxml2就可以了如果你需要编译使用了libxml2的软件那就需要安装libxml2-develsqlite-devel用于 sqlite3 可嵌入 SQL 数据库引擎的公共领域开发工具libcurl一个免费开源的,客户端url传输库libpng多种应用程序使用解析PNG图像格式的库yuminstall-ysystemd-devel libxml2-devel sqlite-devel libcurl-devel libpng-devel2、安装需要下载的依赖包cd/opt/lamprpm-ivhoniguruma-6.8.2-1.el7.x86_64.rpmrpm-ivhoniguruma-devel-6.8.2-1.el7.x86_64.rpm按照顺序下载主要oniguruma是一个处理正则表达式的库新建一个pkgconfig的目录mkdir-pv/usr/local/lib/pkgconfig/pkgconfig是一个帮助编译器查找库文件位置和版本的工具。很多新编译的软件都会把配置文件放到这里建立软链接ln-sv/usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib/pkgconfig/这一步默认会去/usr/local/lib/pkgconfig/里找依赖库是为了让系统直到放在/usr/local/ssl/里的新版OpenSSL编译是会报错OpenSSL not found创建OPENSSL链接vim~/.bash_profile#文本添加PKG_CONFIG_PATH$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexportPKG_CONFIG_PATH编辑添加后让其立即生效source~/.bash_profile查看库模块管理列表pkg-config --list-all3、安装php-7.4.16 配置、编译、安装先安装bzip2的高效的文件压缩和解压缩工具yuminstallbzip2-y编译安装cd/opt/lamptarxvjf php-7.4.16.tar.bz2-C/usr/src/cd/usr/src/php-7.4.16 ./configure--prefix/usr/local/php\--with-config-file-path/usr/local/php/etc\--enable-mysqlnd\--with-pdo-mysql\--with-mysqli\--with-openssl-dir/usr/local/ssl\--with-openssl\--enable-gd\--with-zlib-dir\--with-curl\--with-pear\--enable-inline-optimization\--enable-soap\--enable-sockets\--enable-mbstring\--enable-fpm\--with-fpm-usermysql\--with-fpm-groupmysql\--with-fpm-systemd\--with-apxs2/usr/local/apache2428/bin/apxs;统计编译和安装时长timemake-jnprocmakeinstall配置php和apache目的使用apache支持PHP页面1.复制php配置文件cd/usr/src/php-7.4.16/ ll php.ini-productioncpphp.ini-development /usr/local/php/etc/php-ini2.编辑apache配置文件编辑/usr/local/apache2428/conf/httpd.conf ,添加PHP首页vim/usr/local/apache2428/conf/httpd.conf AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps#(第391行添加)#AddType 指令 作用在给定的文件扩展名与特定的内容类型之间建立映射 让apache支持 php文件的解释index.php#第255行添加PHP首页3.停止并重启服务systemctl stop httpd.service systemctl start httpd.service测试页面1.编辑首页并测试cat/usr/local/apache2428/htdocs/index.phpEOF ?php echo Hello World; ? EOFcat/usr/local/apache2428/htdocs/index.php浏览器里输入10.16.6.129/index.phpcat/usr/local/apache2428/htdocs/info.phpEOF ?php phpinfo(); ? EOFcat/usr/local/apache2428/htdocs/info.php浏览器里输入10.16.6.129/info.php2.测试数据库连接的账户和密码vim/usr/local/apache2428/htdocs/linkdb.php?php$linkmysqli_connect(localhost,root,root,mysql);if($link){printf(Congratulations!);}?cat/usr/local/apache2428/htdocs/linkdb.php浏览器里输入10.16.6.129/linkdb.php测试PHP以及PHP连接MySQL的核心要素如果上述都OK说明①Apache可以解析php结尾的文件Apache支持动态脚本②打印输出了PHP的N多环境变量方便后期排错③Apache连接MySQL的驱动比如mysql是okde ,PHP可以基于此启动连接MySQL④MySQL授权是ok的PHP可以通过权限的账号和密码连接到MySQL示例的MySQL数据库PhpMyAdmin安装下载并解压 PhpMyAdmin将包复制到网站根目录下并重命名为 phpmyadmin 文件夹yum-yinstallunzipcd/opt/lamp/unzipphpMyAdmin-5.1.0-all-languages.zipmv-vphpMyAdmin-5.1.0-all-languages /usr/local/apache2428/htdocs/phMyAdminls-lhrt/usr/local/apache2428/htdocs/phpMyAdmin1.切换到openssl扩展目录cd/usr/src/php-7.4.16/ext/openssl/2.使用phpize对php进行添加扩展mvconfig0.m4 config.m4#先下载这个autoconf的编译工具包yuminstallautoconf-y/usr/local/php/bin/phpize3.编译安装./configure --with-openssl --with-php-config/usr/local/php/bin/php-configmake-jnprocmakeinstall;echo$?ls-lhrt/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/(命令是用来查看 PHP 扩展目录下的文件列表目的是确认 openssl.so 文件是否已经编译安装成功)4.配置php.ini安装完成后会返回一个.so文件openssl.so的目录。在此目录下把openssl.so 文件拷贝到你在php.ini 中指定的 extension_dir 下在php.ini文件中查找extension_dir 编辑php.ini文件在文件最后添加 extensionopenssl.so ,然后重启Apache命令cd/usr/local/php/etc/lsvimphp-iniextensionopenssl.socd/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902ls-lhrt(把编译好的 openssl.so 文件复制到了 PHP 的配置文件目录 /usr/local/php/etc/)cp-avopenssl.so /usr/local/php/etc/ systemctl restart httpd.service登录测试10.16.6.129/phMyAdmin/登录用户root 登录密码root