热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Debian系统中配置LAMP+phpMyAdmin+ProFTPd服务器环境

这次安装配置的环境是在ubuntuserver7.10下进行的,并且是通过远程方式来安装配置的,如在其它环境下安装配置此方面那请根据自身情况来作选择性参考。由于本人是第一次安装配置mysql5+Apache2+PHP5+Phpmyadmin+proftpd,如发现有错的地方,请各位原谅
     这次安装配置的环境是在ubuntu server 7.10下进行的,并且是通过远程方式来安装配置的,如在其它环境下安装配置此方面那请根据自身情况来作选择性参考。由于本人是第一次安装配置mysql5 + Apache2 + PHP5+Phpmyadmin + proftpd,如发现有错的地方,请各位原谅并请各位严正指出。

1、  由于是使用apt-get install来的方式安装其中部分软件,所以先对你的系统进行一次更新,以免稍后无法下载安装所需的软件:
sudo apt-get update
sudo apt-get dist-upgrade

2、  安装
sudo apt-get install mysql-server mysql-client             安装mysql5
sudo apt-get install apache2                               安装apache2
sudo apt-get install php5                                  安装php5
sudo apt-get install php5-mysql                           安装php的mysql模块
sudo apt-get install php5-gd                               安装GD库
在运行上面的命令的时候,可以留心看下libapache2-mod-auth-mysql(安装apache2时可能会安上)和libapache2-mod-php5,如果看到安上了就不用再单独安装了。若没安装就必须对其进行独立的安装:
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install libapache2-mod-php5

3、  配置
在安装MYSQL时会有提示要输入你登录MYSQL时的密码,个人建议最好输入密码,以免以后再进行设置。
下面就根据各自需要对apache2、php5、mysql的配置文件进行设置(在查看网上资料时可以暂时不对这三个配置文件配置,但由于考虑到所配置的机是用来做服务器的,所以就对其进行设置,至于网上说是否可以暂时不用配置未曾测试过。)
a)      首先对/etc/php5/apache2/php.ini进行配置(在对这些配置文件进行配置时,建议都进行相关的备份,以防配置出错可以恢复:sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini_backup。下面的其他配置文件也做同样的备份,以下就不做说明了)
    memory_limit = 128M =>修改成你所需的内存大小
upload_max_filesize = 2M =>修改文件最大上传尺寸,这里我修改为1024M
open_basedir = > open_basedir = /var/www/         将前面的注释去掉
#禁止使用phpinfo和get_cfg_var函数,这样可以避免泄露服务信息,一般在在确认PHP能正常工作之后再使之关闭:
disable_functiOns= > disable_functiOns= phpinfo,get_cfg_var
#设置php程序错误日志
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_err.log
#如果php程序没有指明需要register_globals的话,最好把register_globals设置为Off,这样可以避免很多安全问题的。注意,如果你的程序是需要register_globals的话,可千万别关。Ubuntu默认是关闭的。
register_globals = Off#禁止打开远程地址,记得最近出的php include的那个漏洞吗?就是在一个php程序中include了变量,那么入侵者就可以利用这个控制服务器在本地执行远程的一个php程序,例如phpshell,所以我们关闭这个。
allow_url_fopen = Off 在文件最后添加:
extension=mysql.so
extension=gd.so
b)  接着下面对/etc/mysql/my.cnf进行配置
在Ubuntu下用apt装的mysql默认是禁止从网络连接MySQL的,我们可以从/etc/mysql/my.cnf文件中看到有skip-networking语句的,如果你做的是MySQL服务器的话,那么是要将其注释掉的,这样其他机器才能访问你这台机器,如果该服务仅供本机使用的话,那么就保持原状,这样别的机器不能访问你这台机器的MySQL。由于这里我是通过远程来安装的,需要通过远程来测试,所以就要将其注释去掉。
c)       配置/etc/apache2/sites-enabled/000-default(可以跳过,不设置)
由于不想在登录apache2时出现目录浏览,所以对此进行了设置,还有在网上的大多数资料说要去掉目录浏览是在httpd.conf这文件下设置的,但由于通过apt-get install 安装的apache2的默认的配置文件目录是在sites-enabled下的000-default,而不是httpd.conf,所以这里需要设置的是000-default。通过查找000-default文件,将

           Options Indexes FollowSymlinks MultiViews
           AllowOverride None
           Order allow,deny
           allow from all
           #This directive allows us to have apache2’s default start page
           #in /apache2-default/, but still have / go to the right place
           #RedirectMatch ^/$ /apache2-default/

中的Indexes去掉,这样在登录apache2就不会有目录浏览了。
d)      配置/etc/apache2/apache2.conf
在文件最后添加
AddType application/x-httpd-php .php .htm .html    #让apache支持.htm .html .php
AddDefaultCharset UTF-8                           #解决firefox显示乱码
重启apache后,如果出现:
* Restarting web server apache2
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
则继续添加ServerName 127.0.0.1(这里根据上面的提示来添加,此处我添加的是本机的IP地址)

4、  安装phpmyadmin
不知为什么我通过apt-get install安装的话不不是装在/var/www/目录下,曾试过将其目录复制到/var/www/下,但出现很多问题,最终我只好将其卸载,直接到phpmyadmin官方网上下载源码包(http://www.phpmyadmin.net/),根据自己情况下载不同的源码包,我所下载的是phpMyAdmin-2.11.2.2-all-languages.tar.gz,接下来就是将其解压到/var/www/下。在配置phpmyadmini前最好先阅读一下其里面的Documentation.html说明文件。按照其说明将里面的config.sample.inc.php复制成config.inc.php:
sudo cp config.sample.inc.php config.inc.php
接下来就是对config.inc.php进行配置
$cfg[ ‘blowfish_secret’ ] = >这里网上资料说可以输入任何数据,在我就输入mysql的密码
// $cfg[ ‘Servers’ ][ $i ][ ‘controluser’ ] = ‘pma’;
// $cfg[ ‘Servers’ ][ $i ][ ‘controlpass’ ] = ‘pmapass’;
将上面两行前的注释 // 去掉,然后改成自己的mysql的用户名和密码:
$cfg[ ‘Servers’ ][ $i ][ ‘controluser’ ] = ‘root’;
$cfg[ ‘Servers’ ][ $i ][ ‘controlpass’ ] = ‘mysql密码’;

5、  接下来就是重启一下apache2
sudo /etc/init.d/apache2 restart
之后就可以在浏览器输入http://你的ip地址/phpmyadmin,若你是在本地机安装在本地机浏览的则可以输入http://localhost/phpmyadmin,能出现phpmyadmin的欢迎界面则表示安装成功。接着用刚次设置的用户名与密码来登录,看是否能对mysql实行正常管理。

6、  安装proftpd
sudo apt-get install proftpd-mysql

7、  对proftpd与mysql进行连接配置
a)      用phpmyadmin创建数据库ftp,然后对其权限进行设置,提供SELECT, INSERT, UPDATE, DELETE的权限。
b)      在数据库ftp中创建表格,具体的mysql创建语句如下(可以根据下面的语句来用phpmyadmin创建):
CREATE TABLE ftpgroup (
groupname varchar(16) NOT NULL default ”,
gid smallint(6) NOT NULL default ‘5500′,
members varchar(16) NOT NULL default ”,
KEY groupname (groupname)
) TYPE=MyISAM COMMENT=’ProFTP group table’;
CREATE TABLE ftpuser (
id int(10) unsigned NOT NULL auto_increment,
userid varchar(32) NOT NULL default ”,
passwd varchar(32) NOT NULL default ”,
uid smallint(6) NOT NULL default ‘5500′,
gid smallint(6) NOT NULL default ‘5500′,
homedir varchar(255) NOT NULL default ”,
shell varchar(16) NOT NULL default ‘/sbin/nologin’,
count int(11) NOT NULL default ‘0′,
accessed datetime NOT NULL default ‘0000-00-00 00:00:00′,
modified datetime NOT NULL default ‘0000-00-00 00:00:00′,
PRIMARY KEY (id),
UNIQUE KEY userid (userid)
) TYPE=MyISAM COMMENT=’ProFTP user table’
c)       配置/etc/proftpd/proftpd.conf
DeferWelcome    off  —>  DeferWelcome   on
#DefaultRoot     ~   —>  DefaultRoot     /home/ftp   将其前面的注释#号去掉,并根据自己所建立的ftp目录设置,不然默认目录为/home
User      proftpd  —>   User    nobody
UseReverseDNS     off
IdentLookups      off
以上两句要加入到文件中
#SQLBackend      mysql  —>  将其前面注释#号去掉
d)      在  
        AdminControlsEngine  on
        

    之后添加以下代码:
SQLAuthTypes Backend   Plaintext                #数据库认证的类型
SQLAuthenticate         user* groups*
SQLAuthenticate on                         #数据库的鉴别
SQLConnectInfo HostName@localhost:Port UserName password       #数据库联接的信息,DatabaseName是数据库名, HostName是主机名,#Port是端口号,UserName是连接数据库的用户名,Password是密码。
#下面为指定用来做用户认证的表的有关信息:
SQLUserInfo ftpuser userid passwd uid gid homedir shell    
SQLGroupInfo ftpgroup groupname gid members          
SQLLogFile /var/log/proftpd/sql.log                      # SQL Log 档
SQLHomedirOnDemand on          #如果home目录不存在,则系统会为根据它的home项新建一个目录
SQLLog PASS updatecount               # SQL Log 格式,当正确登入?r,要执行的 SQL 语法
SQLNamedQuery updatecount UPDATE “count=count+1, accessed=now() where userid=’%u’” ftpuser
SQLLog STOR,DELE modified         # SQL Log 格式,当存储或?h除档案?r,要执行的 SQL 语法
SQLNamedQuery modified UPDATE “modified=now() where userid=’%u’” ftpuser
RequireValidShell off
e)      建立使用者账号(同样可以用phpmyadmin来实现)
insert into ftp (userid, passwd , uid, gid , homedir ) values (’ubuntu_user’,password(’12345′), ‘5500′,’5500′,’/home/ftp’);
f)  在/home/ftp目录下建立文件夹download、upload,并且对其进行权限设置
sudo mkdir download /home/ftp
sudo mkdir upload /home/ftp
sudo chown 777 download /home/ftp
sudo chown 777 download /fome/ftp
f)        设置匿名用户登录:
首先将
#
………….
………….
         #
         前的注释号#去掉,然后将
         改为    #这里我只允许匿名用户登录访问/home/ftp/download这一目录。
         MaxClients     10    # 最大匿名用户登录数,默认为10
        下面设置匿名用户登录时为只读,不可写(这里配置文件默认为此):
  
           DenyAll
        

        在上面之后添加代码:
        TransferRate RETR 3000     #下载最大速度为3 M/S
        #
        # …………….
        #

        将其前面的注释号#也要去掉

8、  重新启动proftpd
sudo /etc/init.d/proftd restart
之后若能够通过所设定的用户名和密码来登录ftp,则表示设置成功。

推荐阅读
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
author-avatar
yuhao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有