Linux AS4下安装MySQL+Apache+Vsftpd源码包实践记录

以下步骤均已在RedHat AS4上实现、可以去各个软件官网下载安装所需源代码包或者二进制包

文章根据网络收集整理资料+实际操作完成  

所有操作均由Shell命令行完成  、请视实际情况自行变通命令

一、安装MySQL-4.1.14版本
[root@localhost download]# tar xzfv mysql-standard-4.1.14-pc-linux-gnu-i686.tar.gz
[root@localhost download]# cd mysql-standard-4.1.14-pc-linux-gnu-i686
[root@localhost mysql-standard-4.1.14-pc-linux-gnu-i686]# groupadd mysql
[root@localhost mysql-standard-4.1.14-pc-linux-gnu-i686]# useradd -g mysql mysql
[root@localhost download]# mv mysql-standard-4.1.14-pc-linux-gnu-i686 /opt/mysql 
[root@localhost download]# cd /opt/mysql
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
[root@localhost mysql]# chown -R root .         //将当前文件夹关联到root用户组
[root@localhost mysql]# chown -R mysql data
[root@localhost mysql]# chgrp -R mysql .        //当前目录的所有权是mysql
启动mysql
[root@localhost mysql]# bin/mysqld_safe --user=mysql &
连接上mysql
[root@localhost mysql]# ./bin/mysqladmin -u root password ‘password’
[root@localhost mysql]# ./bin/mysqladmin -u root -h localhost.localdomain password 'pass'
[root@localhost mysql]# ./bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 5 to server version: 4.1.14-standard
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
下面配置mysql以服务的形式启动
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# vi /etc/init.d/mysql
添加如下内容:
basedir=/opt/mysql
datadir=/opt/mysql/data
[root@localhost mysql]# chkconfig --level 345 mysql on
[root@localhost mysql]# service mysql restart
Shutting down MySQL... [ OK ]
Starting MySQL [ OK ]
[root@localhost mysql]#
修改密码什么具体的可以去查查资料

二:安装apache服务器  版本2.0.54

[root@localhost download]# tar zvxf httpd-2.0.54.tar.gz
[root@localhost download]# cp -r httpd-2.0.54 /var/www/
[root@localhost download]# cd /var/www/httpd-2.0.54/
[root@localhost httpd-2.0.54]# ./configure --prefix=/home/www/apache --enable-module=most --enable-shared=max --enable-so
[root@localhost httpd-2.0.54]# make
[root@localhost httpd-2.0.54]# make install
如果你想创建一个启动脚本,就创建下面的文件:
[root@localhost httpd-2.0.54]# vi /etc/init.d/httpd
#!/bin/bash

# Startup script for the Apache Web Server 

# 包含函数库

 . /etc/rc.d/init.d/functions

 # 获取网络配置

 . /etc/sysconfig/network 

# 检测 NETWORKING 是否为 "yes"

 [ "${NETWORKING}" = "no" ] && exit 0 

# apache安装目录

 APACHE=/home/www/apache 

# 启动服务函数 

start() {

 echo $"Starting httpd service: "

 $APACHE/bin/apachectl start

 RETVAL=$? 

echo } 

# 关闭服务函数

 stop() { 

echo $"Stopping httpd service: "

 $APACHE/bin/apachectl stop

 RETVAL=$?

 echo } 

# 根据参数选择调用

 case "$1" in

 start)

 start 

;; 

stop) 

stop

 ;;

 restart) 

stop 

start 

;;

 *) 

echo $"Usage: $0 start|stop|restart" 

exit 1

esac 

exit 0 
[root@localhost httpd-2.0.54]# cd /etc/init.d/
[root@localhost init.d]# chmod 755 httpd
[root@localhost init.d]# chkconfig --level 345 httpd on
[root@localhost init.d]# service httpd restart
Apache安装完了!

 三、vsftpd-2.0.5源码包 在Readhat as4下编译通过

# tar zxf vsftpd-2.0.5.tar.gz

# cd vsftpd-2.0.5 //进入vsftpd-2.0.5的源代码目录

# vi builddefs.h //编辑builddefs.h 文件,文件内容如下:

  #ifndef VSF_BUILDDEFS_H

  #define VSF_BUILDDEFS_H

  #undef VSF_BUILD_TCPWRAPPERS 

  #undef VSF_BUILD_PAM  

  #define VSF_BUILD_SSL

  #endif /* VSF_BUILDDEFS_H */

将以上undef都改为define,支持tcp_wrappers,支持PAM认证方式,支持SSL

 ##注: 这里不需要 ./configure 和 make install

# make //直接在vsftpd-2.0.5里用make编译

创建必要的帐号,目录:

# useradd nobody //可能你的系统已经存在此帐号,那就不用建立

# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立

# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立

# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立

# chown root:root /var/ftp

# chmod og-w /var/ftp

请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nologin,

安装vsftp配置文件,可执行程序,man等: (这一步操作就是安装.不是用 ./configure; make;make install; 这样安装的.)

# install -m 755 vsftpd /usr/local/sbin/vsftpd

# install -m 644 vsftpd.8 /usr/share/man/man8

# install -m 644 vsftpd.conf.5 /usr/share/man/man5

# install -m 644 vsftpd.conf /etc/vsftpd.conf

现在安装成功了.开始进行配置

 配置

这样就安装完成了,那么我们开始进行简单的配置

对于用DB库存储用户名及密码的方式来说:

第一步: 查看系统是否有相应软件包(redhat的AS4已安装)

# rpm –qa | grep db4

db4-devel-4.2.52-7.1

db4-4.2.52-7.1

db4-utils-4.2.52-7.1

第二步: 建立一个logins.txt的文件,单行为用户名,双行为密码,例如

# vi /tmp/logins.txt

内容如下:

test1

12345

test2

12345

@@ 第三步: 建立数据库文件并设置文件属性

# db_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.db

# chmod 600 /etc/vsftpd_login.db

# rm /tmp/logins.txt ## 删除密码文件

@@ 第四步: 建立认证文件(默认是没有该文件的)

# vi /etc/pam.d/ftp 插入如下两行

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

@@ 第五步: 建立一个虚拟用户

## 这个用户将会是guest 用户 在/etc/vsftpd.conf 的guest_username=vsftpd 定义

useradd -d /home/vsftpd -s /sbin/nologin vsftpd

只要更改这个虚拟用户的目录,那么ftp登录之后的目录也就随之更改

ls -ld /home/vsftpd

drwx------ 3 vsftpd vsftpd 1024 Jun 6 22:55 /home/vsftpd/

@@ 第六步: 编写配置文件   (/etc/vsftpd.conf) 后面打星号的为必需添加

# vi /etc/vsftpd.conf

listen=YES // 使用standalone启动vsftpd **重要自己,自己添加

listen_port=2121 ## FTP端口 ***

max_clients=100 //可接受的最大连接数

max_per_ip=5 //每个IP最大的连接数

local_max_rate=5120000 //本地用户的传输比率(b/s)

tcp_wrappers=YES //支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)

anonymous_enable=NO //禁用匿名账户

local_enable=YES //PAM方式此处必须为YES ***

write_enable=NO //全局控制不可以上传

anon_upload_enable=NO //匿名用户不可以上传

anon_mkdir_write_enable=NO //匿名用户不可以建目录

anon_other_write_enable=NO //匿名用户不可以修改

chroot_local_user=YES //不充许用户更改根目录 ***

guest_enable=YES

guest_username=vsftpd //这两行的意思是采用虚拟用户形式 就是创建的FTP目录

virtual_use_local_privs=YES //虚拟用户和本地用户权限相同 ***重要 

user_config_dir=/etc/vsftpd_user_conf //定义虚拟用户配置文件目录  ***

pasv_enable=YES //建立资料联机采用被动方式 ***

pasv_min_port=30000 //建立资料联机所可以使用port 范围的上界,0表示任意。默认值为0。 ***

pasv_max_port=30999 //建立资料联机所可以使用port 范围的下界,0表示任意。默认值为0。 ***

xferlog_enable=YES //开启日志记录

xferlog_file=/var/log/vsftpd.log //日志存放文件位置

idle_session_timeout=600 //空闲连接超时

data_connection_timeout=120 //数据传输超时

accept_timeout=60 //PAVS请求超时

connect_timeout=60 // PROT模式连接超时

@@ 第七步:建立每个用户的根目录、配置文件的目录和配置文件

# mkdir /home/vsftpd/test1

# mkdir /etc/vsftpd_user_conf

# vi /etc/vsftpd_user_conf/test1 文件内容如下

local_root=/home/vsftpd/test1

write_enable=YES //可写

anon_world_readable_only=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

# vi /etc/vsftpd_user_conf/test2 文件内容如下

local_root=/home/vsftpd/test1

write_enable=NO

anon_world_readable_only=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

# chmod 700 /home/vsftpd/test1

# chown vsftpd.vsftpd /home/vsftpd/test1

这样,test1用户可以下载、上传、修改 /home/vsftpd/test1里的文件,而test2用户只能下载/home/vsftpd/test1里面的文件。

第八步: 启动程序,测试

# /usr/local/sbin/vsftpd /etc/vsftpd.conf

 问题:添加新的用户

第一步: 

vi /tmp/logins.txt

以下内容:

test1  //以前的用户如果还需要用,这里不要变

12345

test2

12345

newUser  //新用户的名字

newPass  //新用户的密码

第二步: 创建密码文件

# db_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.db

# chmod 600 /etc/vsftpd_login.db

第三步: 添加用户的权限配置文件

# vi /etc/vsftpd_user_conf/newUser # 文件内容如下(用户名作为文件名,与logins.txt的新用户名一致)

local_root=/home/vsftpd/test1 //这个为用户的访问目录.这个一般要修改

write_enable=NO //是否能写

anon_world_readable_only=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

第四步: 重启

# killall -9 vsftpd

# /usr/local/sbin/vsftpd /etc/vsftpd.conf &

vsftpd部分安装步骤来自:http://blog.csdn.net/ronaldchan2005/archive/2007/03/10/1526044.aspx

大一时候的一篇记录了,发上来充充博客文章数,勿喷。。。。


你可能感兴趣的:(apache,mysql,linux,upload,download,networking)