1. 程式人生 > >Ubuntu16.04下nginx、ftp、mysql的安裝配置及使用者建立

Ubuntu16.04下nginx、ftp、mysql的安裝配置及使用者建立

    在阿里雲購買伺服器後,需要安裝一些最基本的服務:nginx、ftp、mysql,注意在阿里雲安全組配置相關埠(80,21,22埠)。

    安裝過程主要參考其他教程,我在他人教程的基礎上記錄一些遇到的問題及解決辦法。

一、Ubuntu中安裝配置nginx

1.安裝nginx相關依賴包 unable to locate package xxx

解決方法: sudo apt-get update 更新源

再安裝相關依賴包

2.sudo make install失敗

根據提示修改相應配置

相關錯誤:

(1)could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory)

查詢目錄,發現沒有該目錄,手動建立 mkdir指令

在/usr/local/nginx目錄下執行: mkdir logs

(2)getpwnam("www") failed

沒有配置使用者,先配置www使用者,如何配置教程裡有。

(3)configuration file /usr/local/nginx/conf/nginx.conf test failed

需要配置檔案位置

/usr/local/nginx/sbin/nginx  -c  /usr/local/nginx/conf/nginx.conf

3、修改配置檔案/usr/local/nginx/conf/nginx.conf

主要修改以下兩方面

格式:[User 使用者名稱 使用者組]

可用[groups 使用者名稱]檢視使用者所在分組

注意這裡配置的使用者對檔案是否有讀寫執行許可權(具體見下面ftp中的相關問題)

修改檔案指向目錄和index名稱

4、安裝後80埠未開啟

解決方法: nginx配置出錯,重新配置檔案位置

/usr/local/nginx/sbin/nginx  -c  /usr/local/nginx/conf/nginx.conf

二、Ubuntu中安裝配置FTP服務

1、在伺服器下安裝ftp服務,用root無法登陸

解決方法:安裝ftp完成後,root在禁用列表裡,進入/etc目錄(etc位系統同配置檔案目錄,該目錄包含系統啟動指令碼、啟動配置檔案、使用者登入配置檔案等其他檔案),執行vim ./ftpusers, 修改禁用使用者資訊(將root註釋),vim ./vsftpd.chroot_list檢視當前可登陸使用者資訊。如果vsftpd.chroot_list檔案不存在,會自動建立一個新的檔案,我們將root使用者寫入該檔案儲存即可。

執行[ftp 伺服器IP]可在伺服器下登入ftp(保證21埠開放),exit/quit退出。

2、新新增的使用者無法訪問

vim /etc/vsftpd.conf

修改Pam_service_name=ftp(預設是vsftpd)

再重啟服務service vsftpd restart

3.21埠關閉

配置檔案沒有註解掉listen_ipv6=YES,或者改為NO

4、新增使用者許可權問題

(1)修改檔案許可權(建議採用此種方式)

一種方法,在filezilla上修改檔案許可權,

另一種,命令列chmod 755 filename

chmod u=rwx g=rx o=rx filename效果相同

新增使用者時,UID 是從500開始的; UID_MAX 60000 

Id username可檢視使用者uid gid group

(2)修改使用者許可權(不建議)

修改 /etc/sudoers檔案

## Allows people in group wheel to run all commands
%wheel    ALL=(ALL)    ALL

註釋去掉,然後修改使用者使其屬於root組

#usermod –g root username

通常Linux對於UID有幾個限制。0(系統管理員),1~499(系統賬號),500~65535(可登陸賬號)

5、配置ftp使用者

(1)建立目錄

mkdir /home/ftpdir

(2)新建使用者

sudo useradd -d /home/ftpdir -s /usr/sbin/nologin ftpuser

(3)修改新建使用者密碼

sudo passwd ftpuser

(4)配置許可權

sudo chown ftpuser:ftpuser /home/ftpdir

和ftp使用者登入限制有關的檔案有三個,在/etc/目錄下,有的原來有,沒有的手動加一下

(1)ftpusers

禁用使用者列表

(2)vsftpd.user_list

參考:https://blog.csdn.net/bluishglc/article/details/42273197

(3)vsftpd.chroot_list

vsftpd.chroot_list檔案與vsftpd.conf檔案中的chroot_list_enable,chroot_local_user配置項有關

通過搭配能實現以下幾種效果:

(1).當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list檔案中列出的使用者,可以切換到其他目錄;未在檔案中列出的使用者,不能切換到其他目錄。  

(2).當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd.chroot_list檔案中列出的使用者,不能切換到其他目錄;未在檔案中列出的使用者,可以切換到其他目錄。  

(3).當chroot_list_enable=NO,chroot_local_user=YES時,所有的使用者均不能切換到其他目錄。  

(4).當chroot_list_enable=NO,chroot_local_user=NO時,所有的使用者均可以切換到其他目錄。

三、Ubuntu中安裝MySQL

    MySQL的安裝按教程走下去就好,需要注意的是進入mysql服務後,命令語句的結尾要加“;”分號,否則mysql不認為語句結束。

1mysql新增使用者

(1)用root登入mysql

mysql –u root –p;

(2)新增新使用者

1).允許本地訪問

create user 'test'@'localhost' identified by '123456';

2).允許外網訪問

create user 'test'@'%' identified by '123456';

(3)分配許可權

grant all privileges on testdb.* to 'username'@'%' identified by 'userpwd' with grant option;

有幾處標註紅色的需要說明

第一處all privileges:表明給使用者授予哪些許可權,all/all privileges表示所有許可權,我們也可以指定部分許可權如create、update等等。

第二處testdb:表明授權使用者對哪個資料庫擁有許可權,*表示對所有資料庫都有許可權。

第三處’%’:指示該使用者可以在哪些主機上登陸,’%’表示所有主機都可登入。

第四處with grant option:加上這個引數表明使用者(root使用者不需要加)可以把自己已有的許可權賦給第三方,不加的話就不可以。比如我們通過root使用者給test使用者分配許可權,test使用者想再給其他使用者賦予許可權就要加with grant option。

(4)重新整理授權

flush privileges;