设为首页 收藏本站
查看: 706|回复: 0

[经验分享] apache+php+mysql安装配置

[复制链接]

尚未签到

发表于 2018-11-20 11:32:38 | 显示全部楼层 |阅读模式

  •   apache已经在linux里存在,查看apache版本信息及安装目录
  # apachectl -v
  Server version: Apache/2.2.3
  2.安装mysql,由于redhat Enterprise 5 中自带一个mysql的版本,需要先删除
  a. 查找已安装的mysql 版本:
  #rpm  -qa | grep  mysql (注意大小写,如果mysql 不行就换MySQL)
  在屏幕上将显示已安装的mysql包名如:mysql-5.0.77-3.el5 ;
  b. 将搜索出的包名卸载:
  #rpm -e  --nodeps mysql-5.0.77-3.el5 (nodeps表示强制删除)
  再次查找该包名,如果没有结果输出则表明已将该版本的mysql卸载了
  c. 下载mysql:http://dev.mysql.com/downloads/mysql/5.0.html
  客户端:MySQL-client-community-5.0.92-1.rhel5.x86_64.rpm
  服务端:MySQL-server-community-5.0.92-1.rhel5.x86_64.rpm
  d.检查perl-DBI-1.52-2.el5.rpm是否安装,
  该包为是安装mysql的依赖,没它mysql安装不起,查看是否安装,如果安装了就不需要了,
  可以通过 #rpm -qa | grep perl*查看是否已经安装,该包在linux系统盘上可以找到,以下提供该包下载)
  e.安装mysql
  [root@localhost /]#rpm -ivh MySQL-server-community-5.0.92-1.rhel5.x86_64.rpm
  [root@localhost /]#rpm -ivh MySQL-client-community-5.0.92-1.rhel5.x86_64.rpm
  f.查看是否安装成功
  [root@localhost /]#netstat -ntpl
  显示3306端口开放表示服务安装成功
  [root@localhost /]#mysql
  能自动登陆,则已成功
  g.修改mysql root密码
  [root@localhost/]#/usr/bin/mysqladmin -u root password 'xxxxxx';
  [root@localhost /]#mysql -u root-p
  Enter password:xxxxxx
  出现mysql>表示登陆成功!
  h.对mysql用户设置远程访问权限
  方法1、改表法:登陆mysql后,更改“mysql”数据库里的“user”表里的“host”项,将“localhost”改“%”
  mysql>use mysql;
  mysql>update user set host ='%' where user ='root';
  mysql>select host,user from user;
  mysql>FLUSH PRIVILEGES
  方法2、授权法:假设允许用户username通过密码password从远程连接到mysql服务器

  mysql>GRANT ALL RRIVILEGES ON*.* TO username@'%'>  mysql>FLUSH PRIVILEGES;
  i.安装目录结构
  数据库目录:/var/lib/mysql/
  配置文件:/usr/share/mysql(mysql.server命令及配置文件)
  相关命令:/usr/bin(mysqladmin、mysqldump等命令)
  (*mysql的一种安全启动方式:/usr/bin/mysqld_safe  --   user=root &)
  启动脚本:/etc/rc.d/init.d/
  1、下载
  到官网下载mysql-5.1.65.tar.gz(注意是源码包)
  2、解压
  tar -zxvf mysql-5.1.65.tar.gz
  3、建立目标文件夹
  mkdir /usr/local/mysql
  也就是说等下安装的mysql要安装到这个文件夹里面
  4、配置
  ./configure --prefix=/usr/local/mysql/
  在./configure时出现错误:error: No curses/termcaplibrary found
  下载安装相应软件包
  yum list|grep ncurses
  yum -y install ncurses-devel
  yum install ncurses-devel
  5、编译
  make
  6、安装
  make install
  7、启动
  MySQL服务并不会自动启动,还需要先初始化MySQL数据库,操作如下:
  cd /usr/local/mysql/bin
  sudo ./mysql_install_db --user=root
  注意,这里最后的root是指可以操作数据库的用户,可以是当前用户,也可以新建用户,与linux上的root用户是两回事,可以自己取一个名字
  ./mysqld_safe --user=root & 这条命令负责启动mysql服务的守护进程,此外最后的&是必须的,因为希望守护进程在后台运行
  这里的root就是刚才的那个
  8、为根用户创建密码
  ./mysqladmin -u root password ‘123456’
  如果root已经设置过密码,采用如下方法
  ./mysqladmin -u root password oldpass‘123456’
  9、测试
  mysql -u root -p
  会提示输入密码,就用刚才设置的密码
  123456
  如果出现mysql>,说明连接成功了,下面通过命令 创建一个数据库、建一个表,增加一条记录,为后面的测试准备
  mysql> create database gywtest;
  mysql> use gywtest;
  mysql> create table student(id int(4) not null primary keyauto_increment,stuname char(20));
  mysql> insert into student(stuname) values('Tom');
  注意每条命令后面有个分号,如果上面的都成功,后面就可以用这个测试。
  四、将PHP与MySql结合起来
  1、重新配置PHP,改变配置选项,只需重复PHP安装时的最后的三步configure, make, 以及 make install,然后需要重新启动 Apache 使新模块生效,Apache不需要重新编译。
  2、配置
  ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/local/mysql/bin/mysql_config  注意mysql_config 的路径
  3、编译 make
  4、安装 make installe
  5、测试 写一个页面test.php,放在apache的web目录下,测试上面用命令创建的数据库
  

  Fatal error:>  解决方法:
  /usr/local/php/bin/phpize 这里回车运行
  出错:
  Cannot find config.m4.
  Make sure that you run './phpize' in the top level source directory of themodule
  解决方法:
  PHP源码包文件夹下的EXT文件夹就是放置着目前版本的可用扩展,CD进去看看都有哪些你需要的?应该看到mysqli文件夹了吧~~~
  在当前目录下执行phpize
  [root@localhost mysqli]#/usr/local/php/bin/phpize
  Configuring for:
  PHP Api Version:                   20090626
  Zend Modeule Api No:            20090626
  Zend Extension Api No:          220090626
  Cannot find autoconf. Please check your autoconf installation and the
  $PHP_AUTOCONF environment variable. Then, rerun this script.
  解决方法:
  yum install autoconf再次运行上面的命令即可。
  [root@localhost mysqli]#./configure –prefix=/opt/mysqli –with-php-config=/opt/php/bin/php-config
  –with-mysqli=/opt/mysql/bin/mysql_config
  [root@localhost mysqli]#make
  [root@localhost mysqli]#make install
  安装完成后会有提示扩展所在目录路径,如:
  /opt/php/lib/php/extensions/no-debug-zts-20090626php
  所需的mysqli.so便会在此目录下,接下来修改/opt/php/etc/下的php.ini文件,加入mysqli扩展,即加入如下一行:
  extension=/opt/php/lib/php/extensions/no-debug-zts-20090626/mysqli.so
  这里还是会出现错误:
  解决不用扩展连接MySQL的方法。
  最终还是没有解决MySQLi连接的问题,但是可以使用MySQL数据库了,下面是测试程序
  
  ~
  2.安装php最新版,从http://www.php.net/downloads.php下载
  php-5.3.5.tar.gz
  安装php之前先安装libxml2:
  解压后进入目录:libxml2-2.7.8,然后执行:
  ./configure --prefix=/usr/local/libxml2
  Make && make install
  a.解压
  [root@localhost /]# tar -zxvf php-5.3.5.tar.gz
  b.安装
  [root@localhost /]# cd php-5.3.5
  [root@localhost /]# ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql
  其中--with-apxs2=/usr/local/apache/bin/apxs 是指向apache目录
  [root@localhost /]# make
  [root@localhost /]# make install
  [root@localhost /]# cp php.ini-production /usr/local/lib/php.ini
  c.配置
  # vi /usr/local/apache/conf/httpd.conf
  修改此文件,更改以下指令为:
  DirectoryIndex index.html index.shtml index.cgi index.php index.phtml index.php3
  ServerName  12.34.56.78:80  //这里的ip和端口号视实际情况而定
  Options Indexes FollowSymLinks
  AllowOverridenone
  Requireall granted
  //为安全起见,去掉"Indexes"
  增加LoadModule php5_module modules/libphp5.so
  LoadModule php5_module modules/libphp5-zts.so
  
  AllowOverride none
  Require all granted
  
  DocumentRoot"/usr/local/apache/htdocs"
  
  找到AddType处,并添加以下2行:
  AddType application/x-httpd-php .php .php3 .html .phtml .inc
  AddType application/x-httpd-php-source .php5
  AddHandler cgi-script .cgi .pl
  AddHandler php5-script .php
  vi /usr/local/lib/php.ini
  更改以下指令为:
  register_globals = On
  3.安装php碰到的问题
  a.configure: error: Cannot find MySQL header filesunder yes
  解决办法:安装MySQL-devel-community-5.0.92-1.rhel5.x86_64.rpm即可
  b.configure: error: Cannot find libmysqlclient under/usr.
  解决办法:cp /usr/lib64/mysql/*  /usr/lib/mysql/
  这个问题也应该是安装64位的才会出现。
  4.重新安装apache2.3.8
  需先安装以下包,用于解决问题:apache2.3.8编译出错 configure: error: APR-util not found.  Please read thedocumentation
  a.apr-1.4.2.tar.gz
  [root@localhost /]# ./configure –prefix=/usr/local/web/apr
  [root@localhost /]# make
  [root@localhost /]# make  install
  b.apr-util-1.3.10.tar.gz
  [root@localhost /]#./configure –prefix=/usr/local/web/apr-util–with-apr=/usr/local/web/apr
  [root@localhost /]#make
  [root@localhost /]#make install
  c.pcre-8.10.tar.gz
  [root@localhost /]#./configure –prefix=/usr/local/web/pcre
  [root@localhost /]#make
  [root@localhost /]#make install
  最后安装apache
  apache
  yum -y install gcc gcc++ zlib-devel
  在源码安装apache之前,我们要先卸载系统中,已经通过rpm包安装的apache。如下:
  rpm -qa |grep httpd
  rpm -e --nodeps httpd-2.2.15-29.el6.centos.x86_64
  rpm -e --nodeps httpd-tools-2.2.15-29.el6.centos.x86_64
  安装之前需要先安装apr apr-util pcre,因为apache需要三个的支持
  tar -zxvf httpd-2.2.tar.gz
  cd httpd-2.2
  ./configure --help
  [root@localhost /]#./configure -prefix=/usr/local/apache -enable-rewrite -enable-so-with-apr=/usr/local/web/apr -with-apr-util=/usr/local/web/apr-util -with-pcre=/usr/local/web/pcre
  [root@localhost /]#make
  [root@localhost /]#make install
  apache2.3.8安装成功
  apache加入系统服务
  为了让apache开机启动,我们可以把apachectl启动脚本加入rc.local文件中,如下:
  echo "/usr/local/apache2/bin/apachectlstart">>/etc/rc.local
  我们也可以通过把apache加入系统服务,来启动apache。把apache添加为系统服务有两种方法,第一种是通过chkconfig进行添加,第二种是直接添加系统的各个启动级别。
  我们先来介绍第一种方法,修改启动httpd脚本加入如下两行命令,如下:
  #chkconfig: 2345 70 60
  #description: apache
  说明:
  chkconfig: 2345 70 60中的2345是指脚本的运行级别,即在2345这4种模式下都可以运行,234都是文本界面,5是图形界面X。
  70是指脚本将来的启动顺序号,如果别的程序的启动顺序号比70小(比如44、45),则脚本需要等这些程序都启动以后才启动。60是指系统关闭时,脚本的停止顺序号。
  description: apache关于脚本的简短描述。
  使用chkconfig进行添加,如下:
  chkconfig --add httpd
  chkconfig |grep httpd
  chkconfig --add httpd命令的作用是把/etc/init.d/httpd加入到/etc/rc.d/rc0.d到/etc/rc.d/rc6.d目录下。如下:
  find /etc -name *httpd
  开启apache开机启动,使用如下命令:
  chkconfig httpd on
  chkconfig |grep httpd


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-637343-1-1.html 上篇帖子: win7安装apache+php 下篇帖子: apache防盗链配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表