Ubuntu16.04下nginx、ftp、mysql的安裝配置及用戶創建

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

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

一、Ubuntu中安裝配置nginx

參考教程:http://blog.csdn.net/u014374031/article/details/73441577

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服務

參考教程:http://zyjustin9.iteye.com/blog/2178943

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

參考教程:https://blog.csdn.net/xiangwanpeng/article/details/54562362

    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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章