本次实验的环境是1、httpd-2.4 2、php-fpm-5.6(编译安装无效,只能使用YUM安装) 3、mariadb-5.5.61
httpd-2.4
首先安装开发工具
再安装 其他开发工具
expat-devel.x86_64 缺少这个组件编译apr-util会报 xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory 这个错
必须源码安装两个开发工具包
apr-devel apr-util-devel
获取httpd的源码包
官网链接:
获取apr相关源码包
参考资料来源:
所以首先源码编译安装apr两个组件
编译apr-devel时会出现以下报错
./configure --prefix=/usr/local/apr
这个需要修改下apr 配置文件
这里标红的地方注释掉即可,重新编译
出现这个就表示编译成功。
接下来就是make && make install
出现这个表示安装成功
编译apr-util-devel
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
出现这个表示安装成功
编译httpd
./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
’
出现这个信息,表示httpd源码编译完成
然后就是make && make install
出现这个表示httpd安装成功
将httpd的bin文件加入到bash中
标红的地方就仅仅是由于配置文件中没有指定httpd主机的名称修改下就好了。
就不报错了
大概看下效果。
注意:编译安装后的配置文件与YUM安装的配置文件内容改变了许多,特别是对额外配置文件的包含动作,在编译安装的配置文件中没有。
Mariadb通用二进制安装
1、获取mariadb数据包
2、解压
3、为了操作的统一性 为解压文件建立一个软连接文件
4、为了数据库系统的安全性创建专用的用户和组
5、修改数据库文件的属主和属组
6、创建数据库专用的数据目录和日志目录
7、为mysql提供配置文件
8、修改主配置文件
/etc/my.cnf
9、找到并移动服务启动文件
10、初始化数据库
scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql --datadir=/mysql/data
如果看到这个就表示初始化成功
11、启动MySQL
12、将mysql的bin文件加入到bash中
13、查看结果
FPM编译安装
php依赖于mariadb 所以编译安装php之前必须先安装mariadb
注意一定要知道自己安装的是PHP 还是PHP-FPM 这是两个不同的软件
参考链接:https://blog.csdn.net/weixin_41167954/article/details/80361249
1、先查看当前httpd加载的MPM模块
2、安装开发工具
3、编译
我这里提前编译安装了libmcrypt组件,编译方式安装无效,因为这个组件依赖其他的数据包 推荐YUM安装
参考链接:https://blog.csdn.net/chuang3344/article/details/75115890
./configure --prefix=/usr/local/php-fpm --enable-fpm --with-zlib --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-freetype-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64
编译之前需要安装以下组件
libjpeg-turbo-devel.x86_64
libpng-devel.x86_64
freetype-devel.x86_6
编译完成之后就是然后就是make && make install
这个表示安装成功
4、生成配置文件
用.default的文件拷贝一份配置文件.conf
5、修改配置文件
去掉之前该命令的注释
6、修改httpd的配置文件
开启所需要的modules(我是根据YUM安装后的httpd.conf配置文件来改的)
# LoadModule foo_module modules/mod_foo.so
##LoadModule mpm_event_module modules/mod_mpm_event.soLoadModule mpm_prefork_module modules/mod_mpm_prefork.so#LoadModule mpm_worker_module modules/mod_mpm_worker.soLoadModule authn_file_module modules/mod_authn_file.soLoadModule authn_dbm_module modules/mod_authn_dbm.soLoadModule authn_anon_module modules/mod_authn_anon.soLoadModule authn_dbd_module modules/mod_authn_dbd.soLoadModule authn_socache_module modules/mod_authn_socache.soLoadModule authn_core_module modules/mod_authn_core.soLoadModule authz_host_module modules/mod_authz_host.soLoadModule authz_groupfile_module modules/mod_authz_groupfile.soLoadModule authz_user_module modules/mod_authz_user.soLoadModule authz_dbm_module modules/mod_authz_dbm.soLoadModule authz_owner_module modules/mod_authz_owner.soLoadModule authz_dbd_module modules/mod_authz_dbd.soLoadModule authz_core_module modules/mod_authz_core.soLoadModule access_compat_module modules/mod_access_compat.soLoadModule auth_basic_module modules/mod_auth_basic.so#LoadModule auth_form_module modules/mod_auth_form.soLoadModule auth_digest_module modules/mod_auth_digest.soLoadModule allowmethods_module modules/mod_allowmethods.soLoadModule file_cache_module modules/mod_file_cache.soLoadModule cache_module modules/mod_cache.soLoadModule cache_disk_module modules/mod_cache_disk.soLoadModule cache_socache_module modules/mod_cache_socache.soLoadModule socache_shmcb_module modules/mod_socache_shmcb.soLoadModule socache_dbm_module modules/mod_socache_dbm.soLoadModule socache_memcache_module modules/mod_socache_memcache.soLoadModule watchdog_module modules/mod_watchdog.soLoadModule macro_module modules/mod_macro.soLoadModule dbd_module modules/mod_dbd.soLoadModule dumpio_module modules/mod_dumpio.soLoadModule buffer_module modules/mod_buffer.soLoadModule ratelimit_module modules/mod_ratelimit.soLoadModule reqtimeout_module modules/mod_reqtimeout.soLoadModule ext_filter_module modules/mod_ext_filter.soLoadModule request_module modules/mod_request.soLoadModule include_module modules/mod_include.soLoadModule filter_module modules/mod_filter.soLoadModule substitute_module modules/mod_substitute.soLoadModule sed_module modules/mod_sed.soLoadModule deflate_module modules/mod_deflate.soLoadModule mime_module modules/mod_mime.soLoadModule log_config_module modules/mod_log_config.soLoadModule log_debug_module modules/mod_log_debug.soLoadModule logio_module modules/mod_logio.soLoadModule env_module modules/mod_env.soLoadModule expires_module modules/mod_expires.soLoadModule headers_module modules/mod_headers.soLoadModule unique_id_module modules/mod_unique_id.soLoadModule setenvif_module modules/mod_setenvif.soLoadModule version_module modules/mod_version.soLoadModule remoteip_module modules/mod_remoteip.soLoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_fcgi_module modules/mod_proxy_fcgi.soLoadModule proxy_scgi_module modules/mod_proxy_scgi.soLoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.soLoadModule proxy_fdpass_module modules/mod_proxy_fdpass.soLoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.soLoadModule proxy_express_module modules/mod_proxy_express.soLoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so#LoadModule session_module modules/mod_session.so#LoadModule session_cookie_module modules/mod_session_cookie.so#LoadModule session_dbd_module modules/mod_session_dbd.soLoadModule slotmem_shm_module modules/mod_slotmem_shm.so#LoadModule ssl_module modules/mod_ssl.soLoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.soLoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.soLoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.soLoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.soLoadModule unixd_module modules/mod_unixd.soLoadModule dav_module modules/mod_dav.soLoadModule status_module modules/mod_status.soLoadModule autoindex_module modules/mod_autoindex.soLoadModule info_module modules/mod_info.so#LoadModule cgid_module modules/mod_cgid.soLoadModule dav_fs_module modules/mod_dav_fs.soLoadModule vhost_alias_module modules/mod_vhost_alias.soLoadModule negotiation_module modules/mod_negotiation.soLoadModule dir_module modules/mod_dir.soLoadModule actions_module modules/mod_actions.so#LoadModule speling_module modules/mod_speling.so#LoadModule userdir_module modules/mod_userdir.soLoadModule alias_module modules/mod_alias.soLoadModule rewrite_module modules/mod_rewrite.so7、启动FPM
8、测试效果
编译安装FPM参考链接:https://blog.csdn.net/weixin_41167954/article/details/80361249