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

[经验分享] Debian安装Apache2+MySQL5+PHP5

[复制链接]

尚未签到

发表于 2018-11-24 09:29:12 | 显示全部楼层 |阅读模式
  终于在Debian用apt-get安装好LAMP了,之前在CentOS使用编译安装,速度比现在快,但内存使用怎么都优化不下来,又没时间深入研究。。。使用yum安装后更头疼,别的都可以,phpmyadmin居然不能连接数据库。。。试了N种方法都不行,最终只能放弃。装回Debian了- -
  记录下自己的安装过程,以备后用~
  1,更新Debian:
  apt-get update
  apt-get updgrade
  2,安装Apache2:
  由于内存只有360M,得省着用,所以选择了prefork模式安装:
  apt-get install apache2-mpm-prefork
  3,安装mysql
  apt-get install mysql-server-5.0 mysql-common mysql-client
  4,安装php相关组件,并整合mysql
  apt-get install php5-common php5-mysql php5-cgi php5-gd php5-mcrypt libapache2-mod-php5 php5-memcache php5-imagick php5-suhosin php5-xmlrpc
  如果需要,可以如下安装
  apt-get install php5-common php-pear php5-curl php5-dev php5-gd php5-idn php5-imap php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xsl
  注:     
如果要删除某个包,可以用以下命令

  apt-get remove
  比如删除php-cgi
  apt-get remove php-cgi
  如果不知道有哪些安装包,可以用如下命令:
  apt-cache search
  比如:
  apt-cache search apache2
  5,设置Mysql账户、密码,及优化:
  mysqladmin -u root password ''   //在引号中输入密码
  登陆MySQL数据库
  mysql -u root -p
  修改原始账户(mysql)
  mysql>use mysql;     
mysql>update user set user="自己设定用户名" where user="root"; (将mysql的root用户名修改成centos,防止root的密码被暴力破解)      
mysql>select Host,User,Password,Select_priv,Grant_priv from user;      
mysql>delete from user where user=''; (删除user用户)      
mysql>delete from user where password=''; (删除user用户)      
mysql>delete from user where host=''; (删除user用户)      
mysql>drop database test; (删除默认的test数据库)      
mysql>flush privileges; (刷新mysql的缓存,让以上设置立即生效)      
mysql>quit;

  修改MySQL的配置文件在/etc/mysql/my.cnf
  找到 #skip-innodb 去掉注释
  重新载入Mysql
  /etc/init.d/mysql reload
  或者重启Mysql
  /etc/init.d/mysql restart
  6,设置php
  修改文件:/etc/php5/apache2/php.ini
  找到以下数值,修改为自己需要的数值
  memory_limit     
post_max_size      
upload_max_filesize

  关闭以下功能 Off
  enable_dl     
display_errors

  7,Apache优化及设置:     
修改 /etc/apache2/apache2.conf文件

  Timeout 300
  改为
  Timeout 60
  KeepAliveTimeout 15
  改为
  KeepAliveTimeout 5
  StartServers 5     
MinSpareServers 5      
MaxSpareServers 10      
MaxClients 150      
MaxRequestsPerChild 0

  改为
  StartServers 3     
MinSpareServers 5      
MaxSpareServers 10      
MaxClients 50      
MaxRequestsPerChild 2000

  找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
  AddType application/x-httpd-php .php     
AddType application/x-httpd-php-source .phps

  保存退出,并重启apache
  /etc/init.d/apache2 reload
  /etc/init.d/apache2 restart
  激活deflate模块(用于页面压缩),在SSH界面输入:
  a2enmod deflate
  让apache2得进程加载新配置的模块
  /etc/init.d/apache2 force-reload
  再修改 /etc/apache2/apache2.conf文件,在最后加入
  在文件之后加入:
  DeflateCompressionLevel 6     
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php      
AddOutputFilter DEFLATE css js

  激活mod rewrite(用于伪静态连接地址),在SSH界面输入:
  a2enmod rewrite
  让apache2得进程加载新配置的模块
  /etc/init.d/apache2 force-reload
  再修改 /etc/apache2/apache2.conf文件,在最后加入:
  RewriteEngine On     
#RewriteBase /      
RewriteCond %{REQUEST_FILENAME} !-f      
RewriteCond %{REQUEST_FILENAME} !-d      
RewriteRule . /index.php [L]

  网上有人这么设置的,不过很多时候,网站多了很不好控制,都已我没有在apache2.conf添加这最后一段。
  重新载入apache
  /etc/init.d/apache2 reload
  或重启apache
  /etc/init.d/apache2 restart
  8,在Debian Apache5下设置多域名:
  设置/etc/apache2/sites-available/default,将ServerAdmin改为你自己的邮箱,并在之前添加一段,作为你的空间根目录域名:
  ServerName xxx.com
  将/var/www/目录全部修改为 /home/www/
  在SSH界面输入:
  chmod 755 -R /home/www     //设置网站根目录权限
  ls -lh //查看文件夹属主
  cd /home/www/
  chown -R www-data:www-data /home/www/
  做好这些后,保存并退出default。
  在/home/www/建立新文件夹“1”;然后在当前目录“/sites-available/”新建一个文件,假设文件名为1,打开文件1,输入以下内容:
  
  ServerName xxx.com       //此处输入域名
  ServerAdmin
  DocumentRoot "/home/www/1/"       //网站目录
                                 //这段添加后,可直接支持.htaccess
  Options FollowSymLinks
  AllowOverride All
  
  ErrorLog "/var/log/apache2/1-error.log"
  CustomLog "/var/log/apache2/1-access.log" common
  
  保存该文件,然后在SSH界面下输入:
  a2ensite 1
  这时,设定的网站域名已经被绑定了,在/etc/apache2/sites-enabled/文件夹会有一个1的快捷链接。重启一下Apache后,就可以操作该网站了:
  /etc/init.d/apache2 restart
  现在就可以用浏览器登陆你的域名了~
  分开设定确实麻烦了点,但好处还是很大的,比如我要单独维护网站1,只需要输入以下命令:
  a2dissite silent
  然后重启一遍即可
  /etc/init.d/apache2 restart
  其他网站还是会正常运作,不会受到牵连~
  9,安装phpmyadmin:
  由于debian的php版本是5.2的,所以可以使用phpmyadmin3.1,也省去了不少麻烦,不用apt-get安装,直接如下操作即可:
  cd /usr/local/src     
wget
http://ncu.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-3.2.0-all-languages.tar.gz   
tar zxvf phpMyAdmin-3.2.0-all-languages.tar.gz     
cp -rf phpMyAdmin-3.2.0-all-languages /home/www/phpmyadmin

  10,安装sendmail:
  很多人说sendmail不好,不过我不是要邮件服务器,只不过需要一些邮件发送支持罢了,sendmail对我是足够了~
  apt-get install sendmail
  11,安装 Zend Optimizer
  cd /usr/local/src     
wget
http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz   
tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz     
./ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh

  按照它的提示一步步进行就行了。
  总之一句话。如果你的服务器环境不需要ZendOptimizer,那么能不安就不安装这个。避免和eaccelerator冲突。
  #服务器
  
  
安装Apache Mysql PHP
  安装之前,保证你的版本是最新的。使用命令:(“#”表示你应该以root的身份来运行)。
# aptitude update && aptitude upgrade


  • mysql
  使用下面的命令来安装mysql:

# aptitude install mysql-server mysql-client

  安装完mysql server后,你应该修改下root的密码。*此步骤对debian Lenny版本无效,因为在安装的时候你将会被要求输入mysql root用户的密码。

# /usr/bin/mysqladmin -u root password 'enter-your-good-new-password-here'

  为了安全起见,你应该不使用root账户来运行数据库,而是新建一个账户来从一个PHP脚本来连接你的mysql数据库

  • apache2

# aptitude install apache2 apache2-doc


  • PHP

# aptitude install php5 php5-mysql libapache2-mod-php5

配置Apache Mysql PHP
  Apache2 配置文件: /etc/apache2/apache2.conf
  当需要的时候,你可以编辑此配置文件。
测试PHP
  为了测试php接口, 编辑文件 /var/www/apache2-default/test.php:

# nano /var/www/apache2-default/test.php

  插入下面代码





运维网声明 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-638898-1-1.html 上篇帖子: Linux下Apache并发连接数和带宽控制 下篇帖子: apache 2.0以上中的acceptpathinfo设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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