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

大一時候的一篇記錄了,發上來充充博客文章數,勿噴。。。。


發佈了238 篇原創文章 · 獲贊 132 · 訪問量 110萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章