111 发表于 2015-11-15 13:40:00

LAMP的环境的搭建

  
  
  
LAMP的环境的搭建
  
  
  目录
  1环境准备... 1
  2安装apache. 1
  1)选择版本...1
  2)开始安装...1
  3)继续安装apache.1
  4)启动apache.1
  5)网站打不开排查方法...1
  6)部署一个简单WEB站点...1
  3mysql的安装... 1
  1)版本选择...1
  2)创建mysql用户和用户组...1
  3)配置安装...1
  4)MySQL的启动和关闭... 1
  5)修改密码... 1
  6)开机自动启动... 1
  4PHP安装... 1
  1)需要获取如下相关文件... 1
  2)首先安装所需要的安装插件,避免安装失败...1
  3)编译安装四个专用的PHP支持插件...1
  4)PHP软件的编译安装...1
  5)编辑测试文件...1
  5apache结合php测试环境... 1
  6参考资料... 1
  
  
  
  
  
1 环境准备
  
  
  1.1 克隆虚拟机
  
  1.2 配置IP
  192.168.1.66
  
2 安装apache
  
1)选择版本
  httpd-2.2.27.tar.gz
  
2)开始安装
  
  # mkdir /home/oldboy/tools -p
  # cd /home/oldboy/tools/
  # tar xf httpd-2.2.27.tar.gz
  # cd httpd-2.2.27
  # ./configure --prefix=/application/apache2.2.27 --enable-deflate--enable-expires --enable-headers --enable-modules=most --enable-so--with-mpm=worker --enable-rewrite
  
  
  错误1:
  checking for zlib location... not found
  checking whether to enable mod_deflate...configure: error: mod_deflate has been requested but can not be built due toprerequisite failures
  
  解决方法:
  # yum install zlib zlib-devel -y
  
3)继续安装apache
  
  # ./configure --prefix=/application/apache2.2.27 --enable-deflate--enable-expires --enable-headers --enable-modules=most --enable-so--with-mpm=worker --enable-rewrite
  # make
  # make install
  #
  # ln -s /application/apache2.2.27/ /application/apache
  # ll /application/apache/
  total 60
  drwxr-xr-x. 2 root root4096 Jun 17 06:40 bin
  drwxr-xr-x. 2 root root4096 Jun 17 06:40build
  drwxr-xr-x. 2 root root4096 Jun 17 06:40cgi-bin
  drwxr-xr-x. 4 root root4096 Jun 17 06:40conf
  drwxr-xr-x. 3 root root4096 Jun 17 06:40error
  drwxr-xr-x. 2 root root4096 Mar 142014 htdocs
  drwxr-xr-x. 3 root root4096 Jun 17 06:40icons
  drwxr-xr-x. 2 root root4096 Jun 17 06:40include
  drwxr-xr-x. 3 root root4096 Jun 17 06:40 lib
  drwxr-xr-x. 2 root root4096 Jun 17 06:40logs
  drwxr-xr-x. 4 root root4096 Jun 17 06:40 man
  drwxr-xr-x. 14 root root 12288 Mar 142014 manual
  drwxr-xr-x. 2 root root4096 Jun 17 06:40modules
  #
  # /application/apache/bin/apachectl-l|egrep"_so|_rewrite|header|expire|deflate"
  mod_deflate.c
  mod_expires.c
  mod_headers.c
  mod_rewrite.c
  mod_so.c
  #
  # /application/apache/bin/apachectl
  # /application/apache/bin/apachectl -l
  #/application/apache/bin/apachectl start
  httpd: apr_sockaddr_info_get() failed for lamp
  
  
  
  问题2:
  httpd: Could not reliably determine theserver's fully qualified domain name, using 127.0.0.1 for ServerName
  解决方法:
  # cd /application/apache/conf/
  # vi httpd.conf
  #ServerNamewww.example.com:80
  ServerName127.0.0.1
  
4)启动apache
  
  # /application/apache/bin/apachectl start
  httpd (pid 70321) already running
  # /application/apache/bin/apachectl restart
  #
  # netstat -lnt
  Active Internet connections (only servers)
  Proto Recv-Q Send-Q Local Address               Foreign Address             State   
  tcp       0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN   
  tcp       0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN   
  tcp       0      0 :::80                     :::*                        LISTEN   
  tcp       0      0 :::22                     :::*                        LISTEN   
  tcp       0      0 ::1:25                      :::*                        LISTEN   
  # curl 192.168.1.66
  <html><body><h1>Itworks!</h1></body></html>#
  #
  # lsof -i tcp:80
  COMMANDPID   USER   FDTYPE DEVICE SIZE/OFF NODE NAME
  httpd70321   root    4u IPv667916      0t0 TCP *:http (LISTEN)
  httpd   70420daemon    4uIPv6 67916      0t0TCP *:http (LISTEN)
  httpd   70421daemon    4uIPv6 67916      0t0TCP *:http (LISTEN)
  httpd   70422daemon    4uIPv6 67916      0t0TCP *:http (LISTEN)
  # ps -ef |grep http
  root   70321      10 06:47 ?      00:00:00/application/apache2.2.27/bin/httpd -k start
  daemon   70419703210 06:53 ?      00:00:00/application/apache2.2.27/bin/httpd -k start
  daemon   70420703210 06:53 ?      00:00:00/application/apache2.2.27/bin/httpd -k start
  daemon   70421703210 06:53 ?      00:00:00/application/apache2.2.27/bin/httpd -k start
  daemon   70422703210 06:53 ?      00:00:00 /application/apache2.2.27/bin/httpd-k start
  root   70508   15350 06:54 pts/0    00:00:00 grep http
  # curl -I 192.168.1.66
  HTTP/1.1 200 OK
  Date: Tue, 16 Jun 2015 22:55:03 GMT
  Server: Apache/2.2.27 (Unix) DAV/2
  Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
  ETag: &quot;21d3d-2c-3e9564c23b600&quot;
  Accept-Ranges: bytes
  Content-Length: 44
  Content-Type: text/html
  
  #
  #
  
  
  
  
  
5)网站打不开排查方法
  
  iptables防火墙和selinux是否关闭
  /etc/init.d/iptables stop #这是关闭防火墙的命令,如果是生产环境则是允许80端口的访问,而不是关闭防火墙
  iptables -I INPUT-p tcp --dport 80 -jACCEPT #非正式环境可以禁止防火墙开机启动,便于学习调试Apache服务。
  chkconfig iptables stop
  /etc/init.d/iptables status #查看iptables的当前状态
  tail -100/application/apache/logs/error_log
  
  # service iptables stop
  iptables:清除防火墙规则:[确定]
  iptables:将链设置为政策 ACCEPT:filter [确定]
  iptables:正在卸载模块:[确定]
  # setenforce 0
  # getenforce 0
  Permissive
  
  
  
6)部署一个简单WEB站点
  
  
  # grep -i DocumentRoot /application/apache/conf/httpd.conf
  # DocumentRoot: The directory out of which you willserve your
  DocumentRoot&quot;/application/apache2.2.27/htdocs&quot;
  # This should be changed to whatever you setDocumentRoot to.
  # accesscontent that does not live under the DocumentRoot.
  #
  
  
  如果想要部署网站服务,只需要把开发好的程序全部放置到/application/apache2.2.22/htdocs下面即可
  这里我们进入到/application/apache2.2.22/htdocs下,删除掉Apache默认的首页index.html(原始内容为itworks),然后建立一个index.html,加入一段网页内容并保存
  此时在浏览器端输入http://IP地址就应该可以看到网页内容了。
  
  
  在这里apache就安装好了;
  
  参考资料:
  http://hanyanwei.blog.iyunv.com/8672126/1395487/
  
  
  
  
3 mysql的安装
  
  
1)版本选择
  
  mysql-5.1.72.tar.gz
  
  
2)创建mysql用户和用户组
  
  #
  # useradd mysql -s/sbin/nologin -M
  
  
3)配置安装
  
  
  
  # useradd mysql -s /sbin/nologin -M
  # yum -y install ncurses-devel
  # cd /home/oldboy/tools/
  # ll
  total 7348
  drwxr-xr-x. 12 mysql mysql    4096 Jun 17 06:40 httpd-2.2.27
  -rw-r--r--. 1 rootroot7519677 Jun 9 02:59 httpd-2.2.27.tar.gz
  # rz
  rz waiting to receive.
  正在开始 zmodem 传输。按 Ctrl&#43;C 取消。
  正在传输 mysql-5.1.72.tar.gz...
  100%   23480 KB 3913 KB/s 00:00:06       0 错误
  # tar -zxf mysql-5.1.72.tar.gz
  # cd mysql-5.1.72
  #./configure --prefix=/application/mysql5.1.72--with-unix-socket-path=/application/mysql5.1.72/tmp/mysql.sock --localstatedir=/application/mysql5.1.72/data--enable-assembler --enable-thread-safe-client --with-mysqld-user=mysql--with-big-tables--without-debug --with-pthread --enable-assembler --with-extra-charsets=complex--with-readline --with-ssl --with-embedded-server --enable-local-infile--with-plugins=partition,innobase --with-mysqld-ldflags=-all-static--with-client-ldflags=-all-static
  # ln -s /application/mysql5.1.72 /application/mysql
  # cp support-files/my-small.cnf /etc/my.cnf
  cp: overwrite `/etc/my.cnf'? yes
  # mkdir -p /application/mysql/data
  # chown -R mysql.mysql /application/mysql
  # /application/mysql/bin/mysql_install_db--basedir=/application/mysql--datadir=/application/mysql/data
  
  
  错误1:
  150617 7:48:55 '--skip-locking'is deprecated and will be removed in a future release. Please use'--skip-external-locking' instead.
  OK
  Filling help tables...
  150617 7:48:55 '--skip-locking' is deprecated and will be removed ina future release. Please use '--skip-external-locking' instead.
  OK
  解决方法:
  # vi /etc/my.cnf
  # The MySQL server
  
  port         = 3306
  socket         = /application/mysql5.1.72/tmp/mysql.sock
  #skip-locking#把这行注释掉即可
  key_buffer_size = 16K
  max_allowed_packet = 1M
  table_open_cache = 4
  &quot;/etc/my.cnf&quot; 82L, 2500C written
  
  
  # /application/mysql/bin/mysql_install_db--basedir=/application/mysql--datadir=/application/mysql/data
  # cp support-files/mysql.server /application/mysql/bin
  # chmod 755 /application/mysql/bin/mysql.server
  # /application/mysql/bin/mysql.server start
  # cp support-files/mysql.server /etc/init.d/mysqld
  # chmod 755 /etc/init.d/mysqld
  # echo &quot;#start mysqld&quot; >> /etc/rc.local
  # echo &quot;/etc/init.d/mysqld start&quot; >> /etc/rc.local
  # echo &quot;PATH=/application/mysql/bin:$PATH&quot; >>/etc/profiles
  # source /etc/profiles
  # mysqladmin -uroot password '888888'
  # /application/mysql/bin/mysqld_safe &
  # /application/mysql/bin/mysql.server start
  # mysqladmin -uroot password '888888'
  # mysql -uroot -p
  
  
4) MySQL的启动和关闭
  
  第一种方法:
  启动:
  /application/mysql/bin/mysqld_safe &
  关闭:
  mysqladmin shutdown
  
  第二种:
  /etc/init.d/mysqld start
  /etc/init.d/mysqld stop
  混合用有问题
  
  # ps -ef|grep mysql
  root      2501   24680 10:21 pts/0    00:00:00 grep mysql
  
  
5) 修改密码
  
  mysql> use mysql;
  mysql> UPDATE user SET password=PASSWORD('888888')WHERE user='root';
  mysql> FLUSH PRIVILEGES;
  
  
  
6) 开机自动启动
  
  
  # echo $PATH
  /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
  # echoPATH=$PATH:/application/mysql/bin/ >> /etc/profile
  # source/etc/profile
  # echo $PATH
  /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/application/mysql/bin/
  #
  #
  # mysql -uroot -p
  Enter password:
  Welcome to the MySQL monitor.Commands end with ; or \g.
  Your MySQL connection id is 1
  Server version: 5.1.72 Source distribution
  
  Copyright (c) 2000, 2013, Oracle and/or itsaffiliates. All rights reserved.
  
  Oracle is a registered trademark of OracleCorporation and/or its
  affiliates. Other names may be trademarks of theirrespective
  owners.
  
  Type 'help;' or '\h' for help. Type '\c' to clearthe current input statement.
  
  mysql>
  mysql>
  mysql>
  mysql> quit
  
  
  
  
  
  
4 PHP安装
  
1) 需要获取如下相关文件


  -rw-r--r--1 root   root    7519677 Mar 192014 httpd-2.2.27.tar.gz
  -rw-r--r--1 root   root    4984397 Oct7 06:13 libiconv-1.14.tar.gz
  -rw-r--r--1 root   root    1335178 Feb 192007 libmcrypt-2.5.8.tar.gz
  -rw-r--r--1 root   root   471915 Nov 222008 mcrypt-2.6.8.tar.gz
  -rw-r--r--1 root   root   931437 Dec82008 mhash-0.9.9.9.tar.gz
  -rw-r--r--1 root   root   15008639 Jul 112013 php-5.3.27.tar.gz
  
  
2)首先安装所需要的安装插件,避免安装失败
  
  #
  # yum install zlib libxml libjpegfreetype libpng gdcurl libiconvzlib-devel libxml2-devel libjpeg-develfreetype-devel libpng-devel gd-devel curl-devel opensshl-devel libxslt-devel -y
  #
  #
  # cd /home/oldboy/tools/
  # ll
  
  
3)编译安装四个专用的PHP支持插件
  
  3.1)libiconv-1.14
  
  #tar zxf libiconv-1.14.tar.gz
  cd libiconv-1.14
  ./configure --prefix=/usr/local/libiconv
  make
  make install
  cd ../
  
  3.2)libmcrypt-2.5.8
  
  # tar zxf libmcrypt-2.5.8.tar.gz
  cd libmcrypt-2.5.8
  ./configure
  make
  make install
  sleep 2
  /sbin/ldconfig
  cd libltdl/
  ./configure --enable-ltdl-install
  make
  make install
  cd ../../
  
  3.3)mhash-0.9.9.9
  
  # tar zxf mhash-0.9.9.9.tar.gz
  cd mhash-0.9.9.9/
  ./configure
  make
  make install
  sleep 2
  cd ../
  
  rm -f /usr/lib64/libmcrypt.*
  rm -f /usr/lib64/libmhash*
  ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.la
  ln -s /usr/local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so
  ln -s /usr/local/lib64/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
  ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
  ln -s /usr/local/lib64/libmhash.a /usr/lib64/libmhash.a
  ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.la
  ln -s /usr/local/lib64/libmhash.so /usr/lib64/libmhash.so
  ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2
  ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
  ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
  
  
  
  3.4)mcrypt-2.6.8
  
  
  #tar zxf mcrypt-2.6.8.tar.gz
  cd mcrypt-2.6.8/
  /sbin/ldconfig
  ./configure LD_LIBRARY_PATH=/usr/local/lib
  make
  make install
  cd ../
  sleep 2
  
  
  
  
  
  
  
4)PHP软件的编译安装
  
  
  
  # yum install openssl-devel-y
  
  
  # rm -rf php-5.3.27
  # tar xf php-5.3.27.tar.gz
  # cd php-5.3.27
  #
  #
  # ./configure \
  >--prefix=/application/php5.3.27 \
  >--with-apxs2=/application/apache/bin/apxs \
  >--with-mysql=/application/mysql \
  > --with-xmlrpc \
  > --with-openssl \
  > --with-zlib \
  > --with-freetype-dir \
  > --with-gd \
  > --with-jpeg-dir \
  > --with-png-dir \
  > --with-iconv=/usr/local/libiconv \
  > --enable-short-tags \
  > --enable-sockets \
  > --enable-zend-multibyte \
  > --enable-soap \
  > --enable-mbstring \
  > --enable-static \
  > --enable-gd-native-ttf \
  > --with-curl \
  > --with-xsl \
  > --enable-ftp \
  > --with-libxml-dir
  
  
  #
  #
  # make && make install
  # ln -s /application/php5.3.27/ /application/php
  # ll /application/php/
  # /application/apache/bin/apachectl -t
  # /application/apache/bin/apachectl start
  
  
  
  
  
  
5)编辑测试文件
  
  # cd /application/apache2.2.27/htdocs
  # ll
  total 4
  -rw-r--r--. 1 root root 44 Nov 212004 index.html
  # vi index.php
  <?php
  phpinfo();
  ?>
  # vi 1.php
  <?php
  
  echo&quot;hello world!!!&quot;;
  
  ?>
  # vi mysql.php
  <?php
  //$link_id=mysql_connect('主机名','用户','密码');
  $link_id=mysql_connect('localhost','root','888888')or mysql_error();
  
  if($link_id){
  echo&quot;mysql successful by oldboy !&quot;;
  }else{
  echomysql_error();
  }
  ?>
  
  
5 apache结合php测试环境
  
  
  
  
  #
  # vi/application/apache/conf/httpd.conf
  
  AddTypeapplication/x-compress .Z
  AddTypeapplication/x-gzip .gz .tgz
   AddType application/x-httpd-php .php
  
  <IfModule dir_module>
  DirectoryIndex index.html index.htmindex.php
  </IfModule>
  
  #ServerName www.example.com:80
  ServerName 127.0.0.1:80
  
  
  
  
  
  
  
  问题1:
  Can't connect to local MySQL server throughsocket 问题解决
  解决方法:
  http://www.iyunv.com/Linux/2013-03/81331.htm
  
  
  
6 参考资料
  
  http://tslove.blog.iyunv.com/9115838/1592742
  http://8802265.blog.iyunv.com/8792265/1639875
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
         版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: LAMP的环境的搭建