您的位置:首页 > 运维架构 > Apache

linux安装apache、mysql、php指导手册

2016-05-18 12:23 543 查看
文章部分内容来源于网络,根据自己的实践,按步骤整理了msyql、apache、php的整个安装过程,写于:2016-5-1809:55:36。QQ:75896091

1.mysql安装

采用在线下载源码并编译的方式安装,如果已有源码包就忽略下载步骤。

1.1
下载安装cmake

下载地址:
http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz


[root@dc01]#cd/usr/local/sourcefiles


[root@dc01]#wget
http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz


[root@dc01]#tar-zxvfcmake-2.8.5.tar.gz


[root@dc01]#cdcmake-2.8.5


[root@dc01]#./configure


执行./configure报错:
ErrorwhenbootstrappingCMake:

CannotfindappropriateC++compileronthissystem.
PleasespecifyoneusingenvironmentvariableCXX.
Seecmake_bootstrap.logforcompilersattempted.
需要安装c++库

[root@dc01]
#yuminstallgcc-c++


[root@dc01]#./configure


[root@dc01]#make&&makeinstall


1.2
下载安装
mysql

1.下载

下载地址:
http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.30.tar.gz


ssh
工具(我用的是xshell)连接到linux服务器,在/usr/local目录下创建一个sourcefiles。


命令:[root@dc01]#
cd/usr/local

[root@dc01]#
mkdirsourcefiles

下载mysql源码文件

[root@dc01]#wget
http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.30.tar.gz


下载成功后解压

[root@dc01]#tar-zxvfmysql-5.6.30.tar.gz


mysql5.5
以后是通过cmake来编译的,1.1节点中已经安装成功则可以继续往下进行。


[root@dc01]#cdmysql-5.6.30


2.
创建mysql安装目录

[root@dc01]#mkdir/usr/local/mysql//
安装mysql


[root@dc01]#mkdir/usr/local/mysql/data//
存放数据库


3.
创建mysql用户和组

[root@dc01]#
groupaddmysql


[root@dc01]#
useradd-r-gmysqlmysql


注:在以下的文字中“[root@dc01]#”简写为“#”。


4.
编译

#cmake.\

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\

-DMYSQL_DATADIR=/usr/local/data\

-DDEFAULT_CHARSET=utf8\

-DDEFAULT_COLLATION=utf8_general_ci\

-DEXTRA_CHARSETS=all\

-DENABLED_LOCAL_INFILE=1

如果报错了,错误信息如下:CMakeErroratcmake/readline.cmake:85(MESSAGE):

Curseslibrarynotfound.Pleaseinstallappropriatepackage,

removeCMakeCache.txtandreruncmake.OnDebian/Ubuntu,packagenameislibncurses5-dev,onRedhatandderivatesitisncurses-devel.
CallStack(mostrecentcallfirst):
cmake/readline.cmake:128(FIND_CURSES)
cmake/readline.cmake:202(MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:427(MYSQL_CHECK_EDITLINE)

--Configuringincomplete,errorsoccurred!
那时因为缺少
ncurses-devel
,执行yum-yinstallncurses-devel命令进行安装。




删除CMakeCache.txt文件


#rm-fCMakeCache.txt


重新编译:


#makeclean

#rm-fCMakeCache.txt

#rm-rf/etc/my.cnf

#cmake.\

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\

-DMYSQL_DATADIR=/usr/local/data\

-DDEFAULT_CHARSET=utf8\

-DDEFAULT_COLLATION=utf8_general_ci\

-DEXTRA_CHARSETS=all\

-DENABLED_LOCAL_INFILE=1

#make&&makeinstall

这一步会很慢,喝杯绿茶慢慢等...

5.配置
#cd/usr/local

#chown-Rroot:mysqlmysql/

#chown-Rmysql:mysqlmysql/data/

#cd/usr/mysql/support-files

#cpmy-default.cnf/etc/my.cnf

6.初始化权限表

#cd/usr/local/mysql

#scripts/mysql_install_db--user=mysql

7.添加服务器启动msyql

#ln-s/usr/local/mysql/bin/mysql/usr/bin

#cd/usr/local/mysql/support-files

#cpmysql.server/etc/init.d/mysqld

#chkconfig--addmysqld

#chkconfigmysqldon

启动msyql

servicemysqldrestart

8.修改密码

#mysql-uroot-p

此时还不用密码就可以登录,按enter进入msyql

#usemsyql;

把所有的空密码都修改了

#updateusersetpassword=password('#*(IEqqssfNffD3sdf');

到此步,mysql已经安装完成了。

2.apache安装

1.下载

下载apache最新文档版本,apache官网http://httpd.apache.org/download.cgi下载地址:http://mirrors.noc.im/apache//httpd/httpd-2.4.20.tar.gz
#cd/usr/local/sourcefiles
#wget-chttp://mirrors.noc.im/apache//httpd/httpd-2.4.20.tar.gz
下载完成后解压
#tar-zxvfhttpd-2.4.20.tar.gz
#cdhttpd-2.4.20

2.编译

#./configure--prefix=/usr/local/apache2--enable-module=shared
要加上后面的参数,否则无法使用php,-enable-module=shared表示Apache可以动态的加载模块。
执行后出现第一个错误:
[root@dc01httpd-2.4.20]#./configure--prefix=/usr/local/apache2--enable-module=shared
checkingforchosenlayout...Apache
checkingforworkingmkdir-p...yes
checkingforgrepthathandleslonglinesand-e.../bin/grep
checkingforegrep.../bin/grep-E
checkingbuildsystemtype...x86_64-unknown-linux-gnu
checkinghostsystemtype...x86_64-unknown-linux-gnu
checkingtargetsystemtype...x86_64-unknown-linux-gnu
configure:
configure:ConfiguringApachePortableRuntimelibrary...
configure:
checkingforAPR...no
configure:error:APRnotfound.Pleasereadthedocumentation.
原因是没有apr和par-util。

3.下载apr和par-util

访问地址:https://apr.apache.org/
#cd/usr/loca/sourcefiles

3.1下载

#wget-chttp://mirror.bit.edu.cn/apache//apr/apr-1.5.2.tar.gz#wget-chttp://mirror.bit.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
#mkdir/usr/local/apr
#mkdir/usr/local/par-util

3.2解压

#tar-zxvfapr-1.5.2.tar.gz
#tar-zxvfapr-util-1.5.4.tar.gz

3.3编译

注意:一定要先安装apr后安装apr-util。

#cd/usr/loca/sourcefiles/apr-1.5.2

#./configure--prefix=/usr/local/apr
#make&&makeinstall

#cd/usr/loca/sourcefiles/apr-util-1.5.4

#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr
报错:checkingforchosenlayout...apr-util
checkingforgcc...gcc
checkingwhethertheCcompilerworks...yes
checkingforCcompilerdefaultoutputfilename...a.out
checkingforsuffixofexecutables...
checkingwhetherwearecrosscompiling...no
checkingforsuffixofobjectfiles...o
checkingwhetherweareusingtheGNUCcompiler...yes
checkingwhethergccaccepts-g...yes
checkingforgccoptiontoacceptISOC89...noneneeded
Applyingapr-utilhintsfilerulesforx86_64-unknown-linux-gnu

这是需要安装gcc,直接运行yuminstallgcc,安装Gcc即可
#yuminstallgcc
安装成功后再次执行
#./configure--prefix=/usr/local/apache2--enable-module=shared--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util
#make
make是报错checkingforpcre-config...false

下载编译pcre,版本是:pcre-8.38.zip。
#cd/usr/local/sourcefiles
#tar-zxvfpcre-8.38.zip
#cdpcre-8.38
#./configure
#make
#maketest//非必须
#makeinstall

再次编译par-util
#cd/usr/local/sourcefiles/apr-util-1.5.4
#./configure--prefix=/usr/local/apache2--enable-module=shared--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--with-pcre=/usr/local/pcre/
#make
#makeinstall

4.再次编译apache

#./configure--prefix=/usr/local/apache2--enable-module=shared

5.启动apache

#cd/usr/local/apache/bin

#apachectl-kstart

httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.0.1forServerName

解决办法非常简单:vi/usr/local/apache2/config/httpd.conf
找到#ServerNamewww.example.com:80
把#去掉,再重启apache即可没事了。

AddTyperequiresatleasttwoarguments,amimetypefollowedbyoneormorefileextensions

6.配置

apache配置中添加php模块配置

#vi/usr/local/apache2/conf/httpd.conf

找到:

AddTypeapplication/x-compress.Z

AddTypeapplication/x-gzip.gz.tgz

在后面添加:

AddTypeapplication/x-httpd-php.php(使Apcche支持PHP注意:.php5一定要有个空格)

AddTypeapplication/x-httpd-php-source.php5(注意:.php5一定要有个空格)

找到:

<IfModuledir_module>

DirectoryIndexindex.html

</IfModule>

添加:

<IfModuledir_module>

DirectoryIndexindex.htmlindex.php

</IfModule>

找到:

#ServerNamewww.example.com:80

修改为:

ServerName127.0.0.1:80或者ServerNamelocalhost:80

记得要去掉前面的“#”

7.启动关闭apache

#cd/usr/local/apache2/bin
#./apachectl-kstop
#./apachectl-kstart
#./apachectl-krestart

3.php安装

1.下载php

文件名称:
php-5.6.21.tar.gz
下载地址:http://cn2.php.net/get/php-5.6.21.tar.gz/from/this/mirror
下载成功后文件名称是mirro
#cd/usr/local/source
#wgethttp://cn2.php.net/get/php-5.6.21.tar.gz/from/this/mirror修改文件名称
#mvmirro
php-5.6.21.tar.gz。
#tar-zxvfphp-5.6.21.tar.gz
#cdphp-5.6.21
#mkdir/usr/local/php//php要安装到这个目录

2.编译

检查安装环境生成Makefile
#./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache/bin/apxs

注意这里有一个-with-apxs2=/usr/local/apache/bin/apxs选项,其中apxs是在安装Apache时产生的,
apxs
是一个为ApacheHTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。我的理解是通过这个工具把PHP模块动态加载到Apache中。

出现错误:configure:error:xml2-confignotfound.Pleasecheckyourlibxml2installation.安装libxml2-deve即可。

#yuminstalllibxml2

#yuminstalllibxml2-devel

安装完毕后,重新运行上面的./configure命令。

##./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache/bin/apxs

#make

#maketest

#makeinstall

3.测试php

重启apache

在apache的htdocs下建立一个php文件test.php,里面的内容如下:

<?php

phpinfo();

?>
#cd/usr/local/apache2/htdocs
#vitest.php

然后在浏览器里输入http://127.0.0.1/test.php
如果出现php的相关配置,成功,如果什么都没有输出,说明失败,重新以上步骤或者查找原因

如果决定在安装后改变配置选项,只需重复最后的三步configure,make,以及makeinstall,然后需要重新启动Apache使新模块生效。Apache不需要重新编译。

测试结果如下图:

至此,apache、msyql、php都安装完毕了,但是php程序还不能连接mysql、不能使用openssl。

4.为php添加mysql、openssl库

进入到php源码目录
#cd/usr/local/sroucefiles/php-5.6.21

4.1编译pdo

4.1.1编译安装

#cdext/pdo
#/usr/local/php/bin/phpize
#./configure--with-php-config=/usr/local/php/bin/php-config--enable-pdo=shared
#make&&makeinstall
如果编译成功则提示:
Installingsharedextensions:/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/
Installingheaderfiles:/usr/local/php//include/php/
InstallingPDOheaders:/usr/local/php//include/php/ext/pdo/
说明在/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/目录下生成了pdo.so文件

4.1.2配置

在php的配置文件(php.ini)添加配置,但是通过查找没有找到php.in。
#find/-namephp.ini
原因如下:
装好php后找不到php.ini,也没有php.ini.recommended或php.ini-dist
php默认是没有php.ini的,可以将php.ini.recommended或php.ini-distcp成php.ini到/usr/local/php/lib/[具体PATH要看php安装的PATH]
由于版本更新
php.ini-production对应于php.ini-recommended
php.ini-development对应于php.ini-dist
查找php.ini-development
#find/-namephp.ini-development
查找发现在php的源码目录中存在这个文件,那么把源码目录中php.in-development拷贝到php安装目录即可。php.in-development文件位置在/usr/local/sroucefiles/php-5.6.21/php.ini-development
#cp/usr/local/sroucefiles/php-5.6.21/php.ini-development/usr/local/php/lib/php.ini

配置pdo
#vi/usr/local/php/lib/php.ini
添加这行数据extension="/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/pdo.so"

4.2编译pdo_mysql

4.2.1编译安装

#cd/usr/local/sourcefiles/php-5.6.21/ext/pdo_msyql
#/usr/local/php/bin/phpize
#./configure--with-php-config=/usr/local/php/bin/php-config--with-pdo-mysql=/usr/local/mysql
#make
#makeinstall
成功则会出现如下提示:
Installingsharedextensions:/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/
说明的/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/目录下生成了pdo_mysql.so文件

4.2.2配置

#vi/usr/local/php/lib/php.ini
添加这行数据extension="/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so"

4.2.3检查配置

重启apache,访问http://127.0.0.1,页面有图1.1中的内容表示已经配置成功了。



图1.1

4.3编译openssl

4.3.1编译

#cd/usr/local/sourcefiles/php-5.6.21/ext/openssl

#/usr/local/php/bin/phpize
执行后,发现错误无法找到config.m4,config0.m4就是config.m4。直接重命名。

#mvconfig0.m4config.m4

#./configure--with-openssl--with-php-config=/usr/local/php/bin/php-config

#make

#makeinstall

安装完成后,会返回一个.so文件(openssl.so),位置在:/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/

4.3.2配置

#vi/usr/local/php/lib/php.ini
添加这行数据extension="/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/openssl.so"
4.3.3检查配置

重启apache,访问http://127.0.0.1,页面有图1.2中的内容表示已经配置成功了。



图1.2
结束语:记录工作中的点点滴滴,形成文档,加深印象。每天让自己进步一点点!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: