安装编译器

安装编译器,第1张

LAMP编译安装之Apache+php+mysql

环境模型:

(1)PHP作为apache的一个模块编译安装。

(2)mysql数据库安装在另一台服务器上。版本是MariaDB5.5.33IP:192.168.1.124

(3)PHP版本5.4.36,http版本2.4

(Apache和php的主机IP是192.168.1.123。

一、编译安装apache
1并解析依赖关系
httpd-2.4.9需要较新版本的apr和apr-util,需要提前升级。升级有两种方式,一种是编译安装源代码,另一种是直接升级rpm包。在这里,我们选择编译源代码。
(1)编译并安装apr

Apr默认安装在/usr/local下,但是这个系统已经有http2.2了,所以重定向一个目录放进去,用的时候才找他。

所以我们需要指定apr的另一个路径。

首先是解压包中的apr压缩包#tarxfapr-1.5.0.tar.bz2

转到apr解压缩包#cdapr-1.5.0。

执行并指定编译路径:。/configure-prefix=/usr/local/apr1.5/

安装make&进行安装

完成后可以看到apr的模块在/usr/local/apr1.5/lib下,不需要导出。您需要使用。


(2)编译安装apr-util
并解压apr-util的压缩包:#tarxfapr-util-1.5.3.tar.bz2
并转到apr-util文件目录#cdapr-util-1.5.3
以#的身份执行指定的apr-util目录。/configure-prefix=/usr/local/apr-util1.5-with-apr=/usr/local/apr1.5
编译并安装#make&makeinstall


(3)HTTPD-2.4.9的编译过程也依赖于pcre-devel软件包,需要提前安装。

我们是提前安装的,所以没有安全安装。2.
。编译安装httpd-2.4.9
首先本地下载httpd-2.4.9,然后执行以下命令编译安装:
解压安装包#tarxfhttpd-2.4.9.tar.bz2。

转到httpd2.4安装包#cdhttpd-2.4.9
并执行编译过程#。/configure-prefix=/usr/local/http2.4-sysconfdir=/etc/httpd2.4-enable-so-enable-SSL-enable-CGI-enable-rewrite-with-zlib-with-pcre-with-apr=/usr/local/apr-util=/usr/local/apr-util1.5-enable-modules=most-enable-mpms-shared=all-with-MPM=event

补充:

(1)将MPM构建为静态模块
在所有平台中,MPM都可以构建为静态模块。在构建过程中选择一个MPM,并将其链接到服务器。如果你想改变MPM,你必须重建它。要使用指定的MPM,请在执行配置脚本时使用参数-with-MPM=name。NAME是指定的MPM名称。编译后,您可以使用。/httpd-l来确定所选的MPM。这个命令列出了所有编译到服务器程序中的模块,包括MPM。
(2)将MPM构建为动态模块
在Unix或类似平台中,可以将MPM构建为动态模块,可以像其他动态模块一样在运行时加载。将MPM构建为动态模块允许通过修改LoadModule指令的内容来改变MPM,而无需重新构建服务器程序。在执行配置脚本时,使用-enable-mpms-shared选项来启用此功能。当给定参数为all时,将安装该平台支持的所有MPM模块。您也可以在参数中给出模块列表。默认的MPM出现在生成的服务器配置文件中,它可以自动选择,也可以在执行配置脚本时由-with-mpm选项指定。您可以通过编辑LoadModule指令的内容来选择不同的MPM。
3。修改httpd的主配置文件,设置其Pid文件的路径
Edit/etc/httpd2.4/httpd.conf并添加以下几行:
Pidfile"/var/run/httpd/httpd.Pid"
4。

#!/bin/bash      #      # httpd Startup script for the Apache HTTP Server      #      # chkconfig: - 85 15      # description: Apache is a World Wide Web server. It is used to serve \      # HTML files and CGI.      # processname: httpd      # config: /etc/httpd/conf/httpd.conf      # config: /etc/sysconfig/httpd      # pidfile: /var/run/httpd.pid      # Source function library.      . /etc/rc.d/init.d/functions      if [ -f /etc/sysconfig/httpd ]; then      . /etc/sysconfig/httpd      fi      # Start httpd in the C locale by default.      HTTPD_LANG=${HTTPD_LANG-"C"}      # This will prevent initlog from swallowing up a pass-phrase prompt if      # mod_ssl needs a pass-phrase from the user.      INITLOG_ARGS=""      # Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server      # with the thread-based "worker" MPM; BE WARNED that some modules may not      # work correctly with a thread-based MPM; notably PHP will refuse to start.      # Path to the apachectl script, server binary, and short-form for messages.      apachectl=/usr/local/apache/bin/apachectl      httpd=${HTTPD-/usr/local/apache/bin/httpd}      prog=httpd      pidfile=${PIDFILE-/var/run/httpd.pid}      lockfile=${LOCKFILE-/var/lock/subsys/httpd}      RETVAL=0      start() {      echo -n $"Starting $prog: "      LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS      RETVAL=$?      echo      [ $RETVAL = 0 ] && touch ${lockfile}      return $RETVAL      }      stop() {      echo -n $"Stopping $prog: "      killproc -p ${pidfile} -d 10 $httpd      RETVAL=$?      echo      [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}      }      reload() {      echo -n $"Reloading $prog: "      if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then      RETVAL=$?      echo $"not reloading due to configuration syntax error"      failure $"not reloading $httpd due to configuration syntax error"      else      killproc -p ${pidfile} $httpd -HUP      RETVAL=$?      fi      echo      }      # See how we were called.      case "$1" in      start)      start      ;;      stop)      stop      ;;      status)      status -p ${pidfile} $httpd      RETVAL=$?      ;;      restart)      stop      start      ;;      condrestart)      if [ -f ${pidfile} ] ; then      stop      start      fi      ;;      reload)      reload      ;;      graceful|help|configtest|fullstatus)      $apachectl $@      RETVAL=$?      ;;      *)      echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"      exit 1      esac      exit $RETVAL

然后授予这个脚本执行权限:
#chmod+x/etc/RC.d/init.d/httpd2.4
加入服务列表:
#chkconfig-addhttpd2.4
然后就可以启动服务进行测试了。

我发现这些路径与实际路径不同

修改为


第二,安装mysql-5.5.33

环境mysql数据库单独安装在Centos7上。

1.为数据存储准备文件系统
创建一个新的逻辑卷,并将其装入特定目录。这里不给出过程。

首先,创建一个分区,并将其格式更改为8e逻辑卷。

pvcreate/dev/sdb1

vgcreatemyvg/dev/sdb1

lvcreate-L4G-nmydatamyvg

格式mke2fs-text4-lmydata-b4096-m3/dev/myvg/mydata

mkdir/mydata

设置引导挂载vim/etc/fstab

这里假设其逻辑卷的挂载目录是/mydata,那么就需要创建/mydata/data目录作为mysql数据的存储目录。

在/mydata下创建一个数据目录。

2.创建新用户以安全的方式运行流程:

创建mysql系统组

创建mysql系统用户

groupadd-rMySQL
useradd-gMySQL-rMySQL

将数据的用户组更改为mysql

chown-RMySQL:MySQL/mydata/data/

3.安装并初始化mysql-5.5.36

数据库需要安装在/usr/local下。所以我们将安装包解压到/usr/local

#tarxfmariadb-5.5.36-Linux-x86_64.tar.gz-c/usr/local
#CD/usr/local/
如果直接把数据移到mysql,以后改版本什么的就麻烦了,所以我们创建一个到mysql的连接。

#ln-SVMariadb-5.5.36-Linux-x86_64MySQL
#CDMySQL

如果不知道mysql数据目录,mysql数据在data下面。

修改此目录中的所有权限。所有者是root,组是mysql。

#chown-Rroot:mysql。/*

这是我们安装的,所以我们需要提供配置文件。/support-files下有许多示例配置文件。

根据主机内存大小配置文件,分为my-small、my-large、my-huge、1-2g和my-innodb。

4.提供mysql的主要配置文件:

copy/support-files/my-large.cnf/etc/my.cnf

有信息,我们正在创建一个目录。

mkdir/etc/mysql

CPmy-large.cnf/etc/MySQL/my.cnf

打开/etc/mysql/my.cnf,在[mysqld]部分添加datadir=/mysql/data,否则mysql不会启动。

并修改该文件中thread_concurrency的值,使您的CPU数量乘以2。例如,这里使用了下面一行:
thread_concurrency=2。

初始化数据库。在scripts/mysql_install_db中,mysql必须初始化为mysql用户。并且必须在mysql目录下。

#scripts/MySQL_install_db-user=MySQL-datadir=/mydata/data

可以看到我们的/mydata/data目录下有数据。

5.为mysql提供sysv服务脚本:

制作一个CPsupport-files/MySQL.server/etc/RC.d/init.d/mysqld的副本,以确保您拥有执行权限。

将其添加到服务列表中。chkconfig-添加mysqld

尝试启动服务。

服务mysqldstart3306正在监听。


#chown-Rroot。/*

为了使使用mysql的安装符合系统使用规范,并将其开发的组件导出到系统中,这里需要以下步骤:
6.将mysql的man手册输出到man命令的搜索路径:
Edit/etc/man.config(centos6),/etc/man_db.conf只需添加下面一行:
mandatory_manpath/usr/local/MySQL/man

现在可以启动MySQL了。
7。将mysql的头文件输出到系统头文件路径/usr/include:
这可以通过简单的创建一个链接来实现:
#ln-SV/usr/local/MySQL/include/usr/include/MySQL

8。将mysql库文件输出到系统库查找路径:
#echo'/usr/local/MySQL/lib'>;/etc/LD.so.conf.d/Mariadb-x86_64.conf


然后让系统重新加载系统库:
#ldconfig
9。修改PATH环境变量,使系统可以直接使用mysql的相关命令。这里不给出具体的实现过程。
在/etc/profile.d/下创建mysql.sh

写导出路径=/usr/local/MySQL/bin:$path。

三。编译并安装php-5.4.26
1。解决依赖关系:

请配置yum源(系统安装源和epel源)并执行以下命令:
#yum-y组安装“桌面平台开发”
#Yum-y安装bzip2-devellibmcrypt-devel
2.编译安装php-5.4.26
首先将源码包下载到本地目录。下载位置是FTP://172.16.0.1/pub/sources/new_lamp。
#tarxfPHP-5.4.26.tar.bz2
#CDPHP-5.4.26
#。/configure-prefix=/usr/local/PHP-with-MySQL=/usr/local/MySQL-with-OpenSSL-with-MySQL=/usr/local/MySQL/bin/MySQL_config-enable-mbstring-with-freetype-dir-with-JPEG-dir-dir-with-png-dir-with-zlib-with-libxml-dir=/usr-enable-XML-enable-sockets-with-APXS2=/usr/local/Apache/bin

注意:
1。这里,为了支持apache的工人或事件MPM,在编译期间使用了-enable-maintainer-zts-zts选项。
2。如果你使用的是PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样就不需要在本机先安装MySQL或者MySQL开发工具包。Mysqlnd从php5.3开始就有了,可以在编译时绑定到它(不与具体的MySQL客户端库绑定形成依赖),但从PHP5.4开始就是默认设置。
#。/configure-with-MySQL=mysqlnd-with-PDO-MySQL=mysqlnd-with-mysqli=mysqlnd

执行中的错误

可能libxml2的包没有完全加载。

安装后就通过了。

#制造和销售。&进行安装

为php提供配置文件:

Php.ini-production意味着在生产环境中使用。
#cpphp.ini-production(开发环境使用的配置环境)/etc/php.ini
3。用apache
#vim/etc/httpd2.4/httpd.conf编辑Apache配置文件httpd.conf以支持PHP。

1.添加下面两行
addtypeapplication/x-httpd-php.PHP
addtypeapplication/x-httpd-PHP-source.PHP
2、定位目录索引index.html
并将其更改为:
目录索引index.phpindex.html

然后重启httpd或让其重新加载配置文件以测试PHP是否可以正常使用。

下面是一个测试页index.php的示例:

进入/var/www/html/目录,创建index.php文件,并编辑该文件以添加以下数据

<html>         <h1>Test Page</h1> <?php    $link = mysql_connect('192.168.1.124','test','test');     if ($link)     echo "Success...";     else     echo "Failure...";     mysql_close();     ?>     </html>

无法连接到192.168.1.124主机上的数据库。

没有权限检查。

进入192.168.1.124的mysql数据库,创建用户密码,给予权限。

在*上授予全部权限。*对‘测试’@‘192.168.1.123’由‘测试’标识;

授予测试用户所有库的所有权限,指定对IP192.168.1.123的访问权限,并设置密码test。


访问成功。

第四:安装WordPress

安装WordPress

下载wordpress-3.3.1-zh_CN.zip到/var/www/html/unzip

解压wordpress-3.3.1-zh_CN.zip

输入wrodpress。

Wp-config-sample.phpWordPress配置示例,复制为wp-config.php。

修改配置文件。维姆·wp-config.php

首先,我们来看看mysql服务器上的数据库中的数据。

数据库中有数据库测试。我们在前面也创建了test的用户,所以配置如下。mysql的IP地址是192.168.1.124

访问我们的WordPress

安装。成功着陆!


好吧!












欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/784405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存