在设置环境之前,最好先确定好目录的结构。例如,源代码安装在/usr/local/src,应用程序安装在/usr/local1。编译安装apache在编译安装apache之前,需要先编译几个apache运行时需要依赖的组件。下面依次介绍官网下载地址:1.Apr编译步骤如下:cd/usr/local/srcwgethttp://apache.forsale.plus//apr/apr-1.6.3.tar.gztar-zxvfapr-1.6.3.tar.gzcdapr-1.6.3./configure--prefix=/usr/local/aprmake&&makeinstall2。Apr-Util编译步骤如下util-1.6.1./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/aprmake&&makeinstall3。pcre编译步骤如下wgethttps://sourceforge.net/projects/pcre/files/pcre/8.41/pcre-8.41.tar.gz/downloadtar-zxvfdownloadcdpcre-8.41./configure--prefix=/usr/local/pcremake&&makeinstall以上编译安装完成后,就可以安装apache了。安装步骤类似,如下:wgethttp://apache.mirror.colo-serv.net//httpd/tar-zxvfhttpd-2.4.29.tar.gzcdhttpd-2.4.29./configure--prefix=/usr/local/apache--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--with-pcre=/usr/local/pcremake&&makeinstall注意事项:如果重新编译安装,编译前执行makeclean,避免安装后出现不必要的错误,修改配置文件,ServerName改为127.0.0.1:80,DocumentRoot改为对应的web根目录,打开vhost配置文件注释:Includeconf/extra/httpd-vhosts.conf。此时/usr/local/apache/modules目录下没有libphp7.so扩展,安装PHP后会自动生成。一般需要给apache运行用户守护进程额外分配一个组,比如www用户所属的组(www用户专门用于web管理和ftp登录),方便以后的权限管理。useraddwwwusermoddaemon-gwwwchown-Rwww:www/网站根目录chmod-R770/网站根目录然后将配置文件中的Group改为www。由www用户管理,apache用户加入www组,其他用户没有任何权限,网站由www用户管理,组和其他人不给任何权限,单独使用acl给apache用户加权限。不做任何处理,把apache用户当成另一个用户,赋予rx权限。需要w权限的内部目录单独设置。别忘了重启,httpd-krestart2.编译安装php7.2编译步骤如下:wgethttp://cn2.php.net/get/php-7.2.0.tar.gz/from/this/mirrortar-zxvfmirrorcdphp-7.2.0./configure./configure--prefix=/usr/local/php7--with-config-file-path=/usr/local/php7/lib--with-apxs2=/usr/local/apache/bin/apxs--with-mhash--with-openssl--with-mysqli--with-pdo-mysql--with-gd--with-iconv--with-zlib--enable-zip--enable-inline-optimization--enable-debug--enable-shared--enable-xml--enable-bcmath--enable-mbregex--enable-mbstring--enable-ftp--enable-pcntl--enable-sockets--enable-soap--enable-session--with-curl--enable-opcachemake&&makeinstall注意事项:如果重新编译安装,编译前执行makeclean。在编译安装之前,最好确保已经安装了一些依赖扩展,可以执行:yum-yinstallgccgcc++gcc-c++wgetmakeautoconfbisonlibxml2libxml2-developensslopenssl-develcurl-devellibjpeg-devellibpng-develfreetype-devel编译选项的含义可以参考php手册或者这篇文章。安装完成后,需要做一些事情:cp/usr/local/src/php-7.2.0/php.ini-development/usr/local/php/lib/php.ini#复制配置文件cp/usr/local/php7/bin/php/usr/bin/phpcp/usr/local/php7/bin/phpize/usr/bin/phpize现在libphp7.so已经编译生成了,在AddType中添加application/x-httpdhttpd.conf。php.php注意:这句话既指定了php文件处理器,也指定了php文件mime-type。echo"AddTypeapplication/x-httpd.php.php">>/usr/local/apache/conf/httpd.conf3。编译安装redis、mongodb1。redis首先从github上clone源码,地址,安装步骤如下:gitclonehttps://github.com/phpredis/phpredis.gitcdphpredisphpize./configure--with-php-config=/usr/local/php7/bin/php-configmake&&makeinstall,echo"extension=redis.so">>`php--ini|grep“加载的配置”|sed-e"s|.*:\s*||"`2。mongodbmongodb可以使用pecl安装:peclinstallmongodbecho"extension=mongodb.so">>`php--ini|grep“加载的配置”|sed-e"s|.*:\s*||"`注意编译好的.so文件默认放在extension_dir目录下,可以使用php-i|grep'extension_dir'查看,也可以更改php.ini中的设置。可以使用php-m查看加载的module4。安装mysql如果需要在服务器上安装mysql,可以参考这篇文章。5.ossftp参考github。注意如果挂载的目录允许其他人查看,可以在挂载时指定-oallow_ohter参数。
