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

使用yum安装apache,php,mysql及其配置

2015-01-02 21:15 661 查看
当前系统redhat6

使用yum源是

http://mirrors.163.com/.help/CentOS6-Base-163.repo  


1.安装apache

yum list httpd* 查看yum库中所有相关文件
yum install httpd* 高兴就全部安装吧,我很懒所以全装了,省得以后缺文件


2.安装php

yum list php* //老规矩先查看下
yum install php* //没问题就全装了,觉得有必要自定义安装自己选择或者有多个php版本,我这就一个5.33的
如果想单个安装就直接这样
yum install php-gd 安装gd库


3.安装mysql

yum list mysql* //原因同上
yum install mysql* //原因同上


4.设置自动启动
chkconfig --levels 235 httpd on
chkconfig --levels 235 mysqld
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
也就是说我们设置了等级2,等级3,等级5的时候会自动启动apcache和mysql
chkconfig --list httpd  //可以通过这个命令查询是否已经设置了,查询mysql也是一样的


5.配置apache可供局域网访问,不需要可自动跳过这一步。

PS:我是在虚拟机中安装的,用虚拟机老不爽了。。而且想学习linux,所以我是使用的Xshell访问的虚拟机
5.01 插播Xshell的简单使用
Xshell 下载地址自己百度
提供注册码: 690313-111999-999313
可注册Xshell 4和Xshell 5
安装好之后
选择文件->新建,出现一个对话选
名称:随意填写
协议:选择SSH
主机:填写ip地址 由于我把linux安装在虚拟机,所以我必选把虚拟机的网络适配器设置为桥接模式,并勾上“复制物理网络”这个选项
其他默认即可
点确定->连接->输入linux用户帐号和密码
搞定!!




首先提供几个命令
rpm -qc 软件名字 //查看软件的配置文件
rpm -ql 软件名字 //查看软件所有安装路径
whereis 软件名字 //查看软件运行命令路径(也就是windows上的exe程序的路径)

1.首先我们要找到apache的配置文件
rpm -qc httpd
[root@localhost linux]# rpm -qc httpd
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd
...
2.编辑httpd.conf
[root@localhost linux]# vi /etc/httpd/conf/httpd.conf
找到这一行: DocumentRoot "/var/www/html"
// "/var/www/html"是以后网站存放的目录,
然后继续往下找:
<Directory "/var/www/html">
Options Indexes FollowSymLinks    	//暂时不太清楚有啥用,先无视掉就可以
AllowOverride none					//设置成ALL表示,当前服务器所有网站都支持URL重写,设置url重写不再今天的范围内
Order allow,deny					//allow和deny的优先级别。
Allow from all						//表示当前服务器支持所有来源访问,如果写成这样:Allow from 192.168.1.* 表示只支持192.168.1.*的ip访问
</Directory>
保存后设置下防火墙:
[root@localhost linux]# setup
firewall configuration		//防火墙配置
customize					//定制
[] www(HTTP)				//按回车改成[*] www(HTTP)
forward						//下一步
<add>						//增加
Port / Port Range: 80      //端口
Protocol: tcp				//协议
ok							//确定
forward						//下一步
close						//关闭
ok							//确定
yes							//确定
quit						//退出
开启apache:service httpd start	//如果已经开启了就重启下: service httpd restart
测试下输入http://192.168.1.105,ok一切正常(我在物理机上测试的“别问我物理机是什么。。我找不到别的名词了”,有条件可以使用局域网)


6.配置Navicat访问mysql数据库,phpmyadmin就不安装了。。

步骤:
1.运行mysql
[root@localhost linux]# service mysqld start
2.进入mysql
[root@localhost linux]# mysql -uroot -p
3.选择mysql表
mysql> use mysql
4.修改mysql密码,默认密码为空。并设置任何人都能访问
mysql>grant all privileges on *.* to liaoque@"192.168.1.%" identified by '123456' with grant option;
grant: 创建MySQL用户账户
all privileges  	赋予创建的用户除grant option所有的权限
on *.*				表示可以访问所有数据库 数据库名字.表名
liaoque@"192.168.1.%"	只有用户名为liaoque且ip地址范围是192.168.1.*的主机才能访问 liaoque@"%" 表示任何主机都能访问
identified by '123456'	指定用户密码是123456
with grant option	使用grant option权限
总结起来就是使用grant option创建一个用户liaoque密码是123456,可以访问当前服务器上的所有数据库,并拥有除grant option以外的所有权限,且限制了ip='192.168.1.*'的主机才能使用该liaoque账户
4.2设置域名是localhost用户root的密码
mysql> UPDATE USER SET password=PASSWORD('123456') WHERE host='localhost' AND user='root';
5.刷新mysql数据库中的授权表重新载入权限。
mysql>flush privileges;

6.安装navicat for mysql并运行
文件->新建连接:
常规:
链接名:随意
主机名或IP地址:192.168.1.105 这是我的虚拟机地址ip,这里需要做修改的
端口:	3306	mysql一般默认都是3306的端口
用户名:liaoque 我刚才创建的账户
密码:	123456	刚才我设置的
SSH:
勾选使用SSH通道
主机名或IP地址:192.168.1.105 这是我的虚拟机地址ip,这里需要做修改的
端口:	22	SSH一般默认都是22的端口
用户名:linux登录帐号
密码:	linux登录密码
测试下,搞定了
如果到了这一步还不能连接;那么请设置防火墙开启3306端口
iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
service iptables save (保存到配置文件永久生效)
service iptables restart (重启iptables)


7.为php增加扩展,根据自己需求来吧

7.1已经安装好了扩展文件,只要自己设置配置文件

1.比如说需要使用gd扩展
[root@localhost linux]# rpm -ql  'php-gd'
/etc/php.d/gd.ini
/usr/lib64/php/modules/gd.so
/usr/share/doc/php-gd-5.3.3
/usr/share/doc/php-gd-5.3.3/gd_README
很好,已经有gd.so了
2.配置php.ini设置gd扩展
[root@localhost linux]# vi /etc/php.ini
<!-- 使用vi搜索命令 "/extension= " 跳转到该行-->
增加扩展有2种写法
1.extension=gd.so							//他会自动寻找默认目录	我系统上就是 /usr/lib64/php/modules/
2.extension=/usr/lib64/php/modules/gd.so	//指定扩展路径
顺便提一下,.so是linux的动态链接库扩展名,就像windows上的.dll
修改如下:
; default extension directory.
extension=gd.so
;;;;
保存退出,重启apache
我们在 /var/www/html下面新建一个php文件
vi index.php
<?php
phpinfo();
在浏览器上写地址http://192.168.1.105查看是否gd库已经安装
搞定


7.2 手动编译安装扩展

以pdo_mysql扩展为例子
1.wget下载 pdo_mysql的源文件
[linux@localhost ~]$ wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz //下载pdo_mysql源码
[linux@localhost ~]$ tar zxvf PDO_MYSQL-1.0.2.tgz 						//解压源码
[linux@localhost PDO_MYSQL-1.0.2]$ phpize								//进入PDO_MYSQL-1.0.2目录运行 phpize
phpize:是为已经编译安装好的php添加扩展的一个工具吧
正确执行后
目录下面会有”configure“这个文件
[linux@localhost PDO_MYSQL-1.0.2]$ more configure		//查看configure
<!@@-- /Optional --@@>
Optional Packages:
--with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]									//指定包[包参数]
--without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)		//指定包不使用必须设置 --with-PACKAGE=no
--with-libdir=NAME      Look for libraries in .../NAME rather than .../lib	//指定库的安装位置
--with-php-config=PATH  Path to php-config php-config							//php-config路径
--with-pdo-mysql=DIR    PDO: MySQL support. DIR is the MySQL base directory	//mysql的基础目录
--with-pic              try to use only PIC/non-PIC objects [default=use both]//默认同时使用
对于普通的重定位方法(non-PIC):需要修改代码段,比如偏移地址来达到重定位的目的。
Position Independent Code (PIC):在访问全局变量和全局函数的时候采用了位置无关的重定位方法,
既依赖GOT(Global Offset Table和PLT(Procedure Linkage Table)来重定位。
但是,会生成更多的代码,在执行时会造成5-15%的性能损失。

--with-gnu-ld           assume the C compiler uses GNU ld [default=no]		//使用gnu编译C源文件,默认不使用
找到这几行
我们需要设置的就是这两行
--with-php-config=PATH  Path to php-config php-config							//php-config路径
--with-pdo-mysql=DIR    PDO: MySQL support. DIR is the MySQL base directory		//mysql的基础目录
[root@localhost PDO_MYSQL-1.0.2]# find / -name php-config						//找到php-config的路径
/usr/bin/php-config
[root@localhost ~]$ which mysql
/usr/bin/mysql
[root@localhost PDO_MYSQL-1.0.2]# ./configure --with-php-config=/usr/bin/php-config --with-pdo-mysql=/usr
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
//这里会提示一个错误,说需要使用到re2c这个工具
[root@localhost PDO_MYSQL-1.0.2]wget http://jaist.dl.sourceforge.net/project/re2c/re2c/0.13.7.5/re2c-0.13.7.5.tar.gz //下载re2c-0.13.7.5.tar.gz
[root@localhost PDO_MYSQL-1.0.2]tar zxvf re2c-0.13.7.5.tar.gz
[root@localhost PDO_MYSQL-1.0.2]# cd re2c-0.13.7.5
[root@localhost re2c-0.13.7.5]# ./configure && make && makefile
checking whether the C++ compiler works... no
configure: error: in `/home/linux/PDO_MYSQL-1.0.2/re2c-0.13.7.5':
configure: error: C++ compiler cannot create executables
See `config.log' for more details
又有错误出现了。。C++ compiler cannot create executables	C++编译器编译失败
[root@localhost re2c-0.13.7.5]# yum install gcc*			//gcc组件没有装全,安装gcc组件
[root@localhost re2c-0.13.7.5]# ./configure && make && makefile
[root@localhost re2c-0.13.7.5]# cd ..
[root@localhost PDO_MYSQL-1.0.2]# ./configure --with-php-config=/usr/bin/php-config --with-pdo-mysql=/usr
[root@localhost PDO_MYSQL-1.0.2]# make && make install
Installing shared extensions:     /usr/lib64/php/modules/					//提示模块安装在该路劲下
剩下的只要配置php.ini文件,按照7.1步骤做就好啦,就不重复罗嗦了
已经写的够长啦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: