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

lamp安装配置详细过程(把以前的笔记贴上来)

[复制链接]
累计签到:12 天
连续签到:1 天
发表于 2015-8-19 08:56:11 | 显示全部楼层 |阅读模式
准备;
  首先进入/usr/local/目录
  #cd /usr/local
  删除所有安装过的php mysql apache 以及libxml
  首先查看目前 /usr/local目录下面的内容
  #ls –l
  如果看到php5 php apache2 apache mysql mysql5 libxml libxml2字样的目录都将其删除具体命令如下
  #rm –rf php5    删除php5目录
  #rm –rf libxml2  删除libxml2目录
  进入home目录
  #cd /home
  删除已经解压缩的的安装程序
  首先查看已经解压缩了那些程序
  #ls –l
  注意蓝色的字样的都为已经解压缩的目录
  将其删除
  如:
  #rm –rf http-2.2.11
  #rm –rf php-5.2.3
  #rm –rfmysql-5.0.41-linux-i686
  #rm –rf libxml2-2.6.30
  删除完毕后,最好重新启动下linux操作系统
  #reboot
  
1:安装apache2。
  1.  进入/home目录(如果虚拟机的,先从别的地方拷到这个目录home/xxxx/下)
  # cd /home
  2.  对apache2安装文件包进行解压缩  解压httpd-2.2.11.tar.gz
  #tar –zvxf  httpd-2.2.11.tar.gz
  解压完毕后,进入httpd-2.2.11目录
  # cd httpd-2.2.11
  3 . 在/usr/local/下面创建一个要安装过去的目录apache2
  # mkdir –p  /usr/local/apache2
  4 .配置安装环境( 设置apache的安装路径)
  # ./configure--prefix=/usr/local/apache2 --enable-modules=so–enable-rewrite
  (--enable-dav 安装mod_dav模块);
  5 .编译(make)和安装(make install)
  # make; make install
  编译安装完毕后启动apache2服务器
  #/usr/local/apache2/bin/apachectl -k start
  用浏览器查看http://127.0.0.1,得到it works,说明apache已经配置成功了。
  系统启动时自动加载Apache:
  1. 在/etc/rc.d/rc.local中增加启动apache的命令,例如:/usr/local/httpd/bin/httpd               
  2.cp/usr/local/apache/bin/    httpd /etc/rc.d/init.d/httpd  
  3.可以用servicehttpd start启动
  正常启动: /usr/local/apache2/bin/httpdstart apaceh启动
  /usr/local/apache2/bin/apachectlstop   停止     
  /usr/local/apache2/bin/apachectlrestart 重启
  

  6. apache以指定的用户运行;
  安装的时候,apache自动以daemon用户运行。如果想以自定义用户如www-data运行:
  $ useradd www-data
  $ vi httpd.conf
  修改其中的内容:
  user daemon  改为 user www-data
  group daemon 改为 group www-data
2:安装mysql
2.1 Mysql resource的安装
  进入home目录
  #cd /home
  对mysql安装文件进行解压缩
  # tar -zvxfmysql-5.0.41-linux-i686.tar.gz
  进入mysql解压的源码文件目录:
  #cd /home/hguisu/mysql-5.0.14
  #设置mysql的安装路径:
  ./configure--prefix=/usr/local/mysql   
  编译,进行安装:
  make && make install
  
2.2  Mysql binary的安装
  进入home目录
  #cd /home
  对mysql安装文件进行解压缩
  # tar -zvxf mysql-5.0.41-linux-i686.tar.g
  
  #移动解压缩的内容到要安装的目录
  #mv mysql-5.0.41-linux-i686   /usr/local/mysql)
  (cp /home/hguisu/mysql-5.0.41-linux-i68/*   /usr/local/src/mysql
  添加mysql用户及用户组
  # groupadd mysql    --应该已经存在了
  #useradd –d/usr/local/mysql/data –s /sbin/nologin –g mysql mysql   --应该已经存在了
  进入/usr/local/mysql目录中
  #cd /usr/local/mysql
  修改mysql目录权限
  # chown -R   root/usr/local/mysql
  # chown -R   mysql/usr/local/mysql/data
  # chgrp -R   mysql/usr/local/mysql
  生成mysql系统数据库
  # ./scripts/mysql_install_db   –user=mysql     --basedir=/usr/local/mysql
  (basedir是mysql的安装目录)
  由这个basedir参数指定二进制数据位置!
  启动mysql服务
  #/usr/local/mysql/bin/mysqld_safe --user=mysql &
  如出现 Starting mysqld daemon with databases from /usr/local/mysql/data
  代表正常启动mysql服务了, 按Ctrl + C 跳出
  设置自动启动
  #cp./support-files/mysql.server /etc/rc.d/init.d/mysqld
  若提示覆盖则按y
  修改权限
  #chmod 700/etc/rc.d/init.d/mysqld
  #chkconfig --add mysqld
  测试mysql的安装
  #/usr/local/mysql/bin/mysqladminping
  #/usr/local/mysql/bin/mysqladminversion
  #/usr/local/mysql/bin/mysql
  进入mysql:cd /usr/local/mysql/bin ./mysql执行,ctrl+c退出
  
  8、为根用户创建密码
  用SET PASSWORD命令
    #/usr/local/mysql/bin/mysql -u root
  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
  用mysqladmin
  ./mysqladmin -u root password "newpass"
  如果root已经设置过密码,采用如下方法
  ./mysqladmin -u root password oldpass "newpass"
  用UPDATE直接编辑user表
  ./mysql -u root
  mysql> use mysql;
  mysql> UPDATE user SET Password =PASSWORD('newpass') WHERE user = 'root';
  mysql> FLUSH PRIVILEGES;
  在丢失root密码的时候,可以这样
  ./mysqld_safe --skip-grant-tables&
  ./mysql -u root mysql
  mysql> UPDATE user SETpassword=PASSWORD("new password") WHERE user='root';
  mysql> FLUSH PRIVILEGES;     
  我只测试了前2种,第三种不知道怎么样
  错误:
  ERROR2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

  
  解决方法:
  由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,但linux系统总是去/tmp/mysql.sock查找,所以会报错
  [iyunv@localhost ~]# find / -name mysql.sock
/var/lib/mysql/mysql.sock
  

  1.直接指定mysql通道
  
  [iyunv@localhost ~]# mysql --socket=/var/lib/mysql/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is 2 to server version: 5.0.22
  Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
  mysql>
  
  2. 创建符号连接:
  
  为mysql.sock增加软连接(相当于windows中的快捷方式)。
  ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
  
eg:
root@localhost ~]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
[iyunv@localhost ~]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
[iyunv@localhost ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is 3 to server version: 5.0.22
  Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
  mysql>
  
我觉得这两个方法挺好用的
  

  

  

2.3  apt-get安装:

apt-get install mysql-server

apt-get install mysql-server-core-5.1  配置文件:/etc/mysql/my.cnf
启动文件位置:/etc/init.d/mysql
  执行文件:/usr/bin
  启动:/etc/init.d/mysql start 或者service mysql restart

  问题:远程访问局域网内的mysql时出现ERROR 2003 (HY000):Can't connect to MySQL server on (10061)

  解决:my.ini(my.cnf)默认的bind-address是127.0.0.1,这样的话就算你创建的用户有可以remote访问的话也不能通过-h 来访问。 mysql只接受localhost。 所以把bind-address屏蔽掉即可。

3:安装libxml2,php5必须有libxml2支持!
  进入home目录
  # cd /home
  解压缩libxml2-2.6.30.tar.gz
  # tar -zxflibxml2-git-snapshot.tar.gz
  进入刚解压缩出来的文件目录
  # cd  libxml2-git-snapshot
  配置安装目录信息
  # ./configure  –prefix=/usr/local/libxml2
  configure: error: cannot find macrodirectory `m4'  
  # mkdir/home/hguisu/libxml2-git-snapshot/m4 就OK 了。
  编译和安装
  # make; make install
  rpm-ivhlibxml2-2.6.23-1.2.i386.rpm         
  rpm-ivh libxml2-devel-2.6.23-1.2.i386.rp
  或者yum install libxml2-devel.x86_64
4 .安装php5
  进入home目录
  # cd /home
  解压缩php-5.2.3.tar.gz
  # tar -zvxf php-5.2.3.tar.gz
  创建/usr/local/php安装目录
  # mkdir /usr/local/php
  进入刚解压缩出来的目录
  # cd php-5.2.3
  配置安装信息
  # ./configure--prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs    --with-mysql=/usr/local/mysql/     --with-libxml-dir=/usr/local/libxml2
  (mysql=/usr/local/mysql/ 加载mysql模块,  --with-apxs2=/usr/local/apache2/bin/apxs配置http.conf,添加LoadModule)
  编译安装
  # make;make install
  复制配置文件php.ini
  # cp php.ini-development/usr/local/php/lib/php.ini
5:重新配置apache2让他支持php。

如果安装php的时候,configure选项带有 --with-apxs2=/usr/local/apache2/bin/apxs,就不用以下这些手工配置了。

  配置 httpd.conf 让apache支持PHP
  # vi/usr/local/apache2/conf/httpd.conf
  在vi中的命令状态(按esc可以到命令状态)按/AddType查找到下面内容
  找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容(注意vi命令模式下 按键盘上的i键 进入插入编辑状态)
  AddType  application/x-httpd-php .php
  AddType  application/x-httpd-php-source .phps
  添加完毕后 按esc到命令状态输入:wq保存退出
  重启apache
  #/usr/local/apache2/bin/apachectl   stop
  #/usr/local/apache2/bin/apachectl   start
  在/usr/local/apache2/htdocs目录里建一内容为 PHP文件info.php
  #vi   /usr/local/apache2/htdocs/info.php
  进入vi环境后 按i进入编辑模式
  输入一下内容
  <?php
  echo phpinfo();
  ?>
  然后按esc退出编辑模式到命令模式输入:wq保存退出
  打开一个浏览器窗口在地址栏输入
  http://127.0.0.1/info.php
  如果出现配置信息的页面,就证明整个环境配置成功.
6、问题
6.1、无法加载 mysql 扩展,请检查您的 PHP 配置。

    大体方法是进入php 的源码目录下的 ext/moduledir, 也就是你想要编译的模块的源码目录下, 然后以绝对 路径的方式调用已经编译好的php 的目录下的 bin/phpize 这个程序.
    1.进入php到源目录:
    cd home/hguisu/php-5.3.2/ext/mysql
    2. 执行phpize:/usr/local/php/bin/phpize
    这样, 就会在php-5.3.2/ext/mysql 目录下, 产生一系列可以单独进行configure 和 make 的    文件 (如果要清理掉它们, 运行 /php/bin/phpize --clean ).
    3. 之后 我们运行:
    ./configure--with-php-config=/php/bin/php-config --with-mysql
    如果提示错误:configure: error: Cannot find MySQL header files under yes.

    解决:在 ./configure 下参数指定 header file 的位置(即mysql安装目录),加上如下语句:
                 –with-mysql=/usr/local/mysql
    4. 编译make

        5 .安装 make install   
    整个过程也就基本完成了.
    注意, 编译好的模块, 一般是自动安装到大概这种关系的路径下 (我的是 bsd 系统, 别的系统或许不   一样):
    /php/lib/php/extensions/no-debug-non-zts-20060613
    另外, win 下编译好的模块扩展名一般是dll, 而 unix 之类的系统则通常为 so.

    6.设置 php.ini

    在php.ini加入:extension=mysql.so,

    设置扩展路径:extension_dir =&quot;/usr/local/php/ext/&quot;.

    把/php/lib/php/extensions/no-debug-non-zts-20060613/下的mysql.so拷到/usr/local/php/ext/&quot;

      然后重启 http 服务器就行了

  
6.2、无法加载 mcrypt 扩展,请检查您的 PHP 配置。
  解决:
  安装 libmcrypt
  下载libmcrypt-2.5.8.tar.gz
  解压tar zxvf libmcrypt-2.5.8.tar.gz
  配置./configure
  编译 make
  安装 make install
  注意,这里配置的时候不需要指定安装位置,否则在以后步骤中可能出错
  进入php的安装源文件,进入php-5.3.0/ext/mcrypt
  运行/usr/local/php/bin/phpize
   这时可能说没有autoconf这个软件,就装一下apt-get install autoconf,当然自己编译也可以
  再次运行/usr/local/php/bin/phpize
  会产生configure等文件
  然后配置./configure --with-php-config=/usr/local/php/bin/php-config
  编译make
  安装 make install
  会出现提示说在某个文件夹里面产生了一个文件mcrypt.so,这时要把这个文件移动到extension_dir里面,具体extension_dir是那个,可以参照刚安装完php之后测试时显示的信息
  然后重新编译php,回到php安装的(4)这时的配置参数要加一个--with-mcrypt
  重新编译安装php,然后成功后,重启apache进行测试
6.3、找不到mbstring
  解决:
  进入php的安装源文件,进入php-5.3.0/ext/mbstring
  运行:
  /usr/local/php/bin/phpize
  会产生configure等文件
  然后配置./configure --with-php-config=/usr/local/php/bin/php-config
  编译make
  安装 make install
  会出现提示说在某个文件夹里面产生了一个文件mbstring.so,这时要把这个文件移动到extension_dir里面,具体extension_dir是那个,可以参照刚安装完php之后测试时显示的信息
  这次不用编译了,到php的配置文件,在extension里面添加extension=mbstring.so,然后保存后重新启动apache,如果没有达到效果,那么在后面添加绝对路径
6.4如果自己用libmcrypt、mhash、mcrypt编译mcrypt
  那么记得前面个两个配置时要用默认配置,不要加参数,配置mcrypt 时安装到指定位置,这样方便重新编译php,如果在编译前面2个时用了指定位置,可能在编译mcrypt时出现以下问题
  6.3.1
  描述:
  libmcrypt cannot be found
  解决:
  cp /usr/local/lamp_other/libmcrypt/lib/libmcrypt.*/usr/lib/
  ln -s/usr/local/lamp_other/mhash/lib/libmhash.so.2 /usr/lib/libmhash.so.2
  这里/usr/local/lamp_other/libmcrypt/就是安装libmcrypt的指定路径
  6.3.2
  描述:
  &quot;You need at least libmhash 0.8.15to compile this program.
  这个问题不知道怎么解决,有的说在编译mcrypt时用LD_LIBRARY_DIR=<mhash安装路径> ./configure --prefix=/usr/local/mcrypt,不过我没有成功过
  最直接的解决办法就是得前面个两个配置时要用默认配置,不要加参数

运维网声明 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-100906-1-1.html 上篇帖子: Ubuntu 下安装 LAMP及phpmyadmin 适用于Backtrack、Kali linux 下篇帖子: 在Ubuntu Server下搭建LAMP环境学习记录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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