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

当前系统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库
编译安装
 ./configure --prefix=/usr/local/php  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 

yum install php70w-opcache php70w-devel php70w-intl php70w-json 


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步骤做就好啦,就不重复罗嗦了
	已经写的够长啦

	


    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值