一、服务器从零到一——Ubuntu搭建nginx静态服务器

一、服务器从零到一——Ubuntu搭建nginx静态服务器,第1张

Ubuntu 1804上的Nginx默认启用了一个服务器模块,该模块被配置为在/var/> >注意:本教程中使用的ISPConfig 31版目前正处于测试状态下,ISPConfig 31 最终将在2016年6月发布,旧的 ISPConfig old stable 305p9 无法在 Ubuntu 1604 中使用,而且不兼容PHP 7。
1初步说明
在本教程中,使用的IP地址为1921681100和网关19216811主机名server1examplecom。这些设置可能与你的不同,所以你必须根据你的情况更换。进一步讨论之前,你需要有一个基本的最小安装。
2 编辑 /etc/apt/sourceslist 并更新 Linux。
编辑/etc/apt/sourceslist。注释掉或从文件中删除安装光盘,并确保库启用。应该是这样设置:
nano /etc/apt/sourceslist
内容如下:
#
# deb cdrom:[Ubuntu-Server 1604 LTS _Xenial Xerus_ – Release amd64 (20160420)]/ xenial main restricted
#deb cdrom:[Ubuntu-Server 1604 LTS _Xenial Xerus_ – Release amd64 (20160420)]/ xenial main restricted
# See >sudo apt-get install vsftpd
命令执行过程中,安装程序会给本地创建一个名为“ftp”的用户组,命令执行完之后会自动启动FTP服务。
可以使用“netstat -tl”命令检查FTP端口有没有已经打开,或者直接在浏览器里输入“ftp://你的服务器IP”(新安装的vsftpd默认是可以匿名不需要密码直接访问),如果能直接连接到FTP服务器,则安装vsftpd算是大功告成。
开启、停止、重启vsftpd服务也很简单:
service vsftpd start | stop | restart
新安装的vsftpd默认是可以匿名访问,如果只想给某一个用户专门访问某一目录下的权限,则需要修改vsftpd的配置了。
首先,创建一个专门用来访问的用户,例如叫“test”:
mkdir -p /home/test
useradd test -g ftp -d /home/test -s /sbin/nologin
设置密码:
passwd test
修改vsftpd的配置文件“vi /etc/vsftpdconf”:
#禁止匿名访问
anonymous_enable=NO
#接受本地用户
local_enable=YES
#可以上传
write_enable=YES
#启用在chroot_list_file的用户只能访问根目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpdchroot_list
在/etc/vsftpdchroot_list添加受访问目录限制的用户:
echo "test" >> /etc/vsftpdchroot_list
安装过程中遇到的一些问题:
“530 Login incorrect”
在 /etc/shells 最后一行添加“/sbin/nologin”
“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”
启用了chroot的话,根目录要设置为不可写
chmod a-w /home/test
OK,重启vsftpd之后就可以使用上面新创建的账号访问:)

11 搭建NFS服务器
NFS(Network FileSystem,网络文件系统)是由SUN公司发展,并于1984年推出的技术,用于在不同机器,不同 *** 作系统之间通过网络互相分享各自的文件。NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及 *** 作系统无关。
NFS分服务器和客户机,当使用远端文件时只要用mount命令就可把远端NFS服务器上的文件系统挂载在本地文件系统之下, *** 作远程文件与 *** 作本地文件没有不同。NFS服务器所共享文件或目录记录在/etc/exports文件中。
嵌入式Linux开发中,会经常使用NFS,目标系统通常作为NFS客户机使用,Linux主机作为NFS服务器。在目标系统上通过NFS,将服务器的NFS共享目录挂载到本地,可以直接运行服务器上的文件。在调试系统驱动模块以及应用程序,NFS都是十分必要的,并且Linux还支持NFS根文件系统,能直接从远程NFS root启动系统,这对嵌入式Linux根文件系统裁剪和集成也是十分有必要的。
安装nfs-kernel-server:
ky@ubuntu:~$ sudo apt-get install nfs-kernel-server
设置NFS-Server目录。修改/etc/exports文件,在其中增加NFS服务器目录。 一个NFS服务器可以共享多个NFS目录,在/etc/exports文件中,每个目录的设置独占一行,编写格式如下:
NFS共享目录路径 客户机IP或者名称(参数1,参数2,,参数n)
说明:
q NFS共享目录可以是主机的任何一个目录,为了方便使用,最好将权限设置为777。
q 客户机指的是可以访问共享目录的客户机的IP或者主机名,可以是指定的IP或者主机名。如果使用IP,可以使用通配符。假如指定IP为1921681x的客户机可以访问,可以写成1921681,如果设置为,则表示任何客户机都可以访问。
q 访问参数可以是一个,也可以是多个,用逗号分开。可能的参数和说明如 REF _Ref286733518 \h 表 5108D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200380036003700330033003500310038000000 所列。
表 STYLEREF 1 \s 5 SEQ 表 \ ARABIC \s 1 1 NFS设置参数和说明
参数
说明
ro
只读访问
rw
读写访问
sync
所有数据在请求时写入共享
async
nfs在写入数据前可以响应请求
secure
nfs通过1024以下的安全TCP/IP端口发送
insecure
nfs通过1024以上的端口发送
wdelay
如果多个用户要写入nfs目录,则归组写入(默认)
no_wdelay
如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置
hide
在nfs共享目录中不共享其子目录
no_hide
共享nfs目录的子目录
subtree_check
如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
no_subtree_check
不检查父目录权限
all_squash
共享文件的UID和GID映射匿名用户anonymous,适合公用目录
no_all_squash
保留共享文件的UID和GID(默认)
root_squash
root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash
root用户具有根目录的完全管理访问权限
anonuid=xxx
指定nfs服务器/etc/passwd文件中匿名用户的UID
anongid=xxx
指定nfs服务器/etc/passwd文件中匿名用户的GID
假定NFS共享目录是/home/ky/nfs,允许所有客户机访问,/etc/exports文件可写为:
/home/ky/nfs (rw,sync,no_subtree_check, no_root_squash)
启动NFS服务器。启动portmap(如果有必要)和nfs-kernel-server服务:
ky@ubuntu:~$ sudo service portmap start
ky@ubuntu:~$ sudo service nfs-kernel-server start
本地验证NFS服务器。将NFS服务器目录挂载到本机另外一个目录下,可以看到挂载点目录下可以看到NFS服务器目录中的文件。
ky@ubuntu:~$ ls /home/ky/nfs/
aaaa
ky@ubuntu:~$ sudo mount -t nfs 127001:/home/ky/nfs /mnt
ke@ubuntu:~$ ls /mnt
aaaa
ky@ubuntu:~$ sudo umount /mnt/
用开发板验证NFS服务器是否可用。启动开发板,进入系统,配置好开发板的IP地址后,用mount命令挂载NFS服务器的NFS目录:
target# mount -t nfs 19216813:/home/ky/nfs /mnt -o nolock
target# ls /mnt
kingyee
target# umount /mnt/
挂载成功后,可以在开发板的/mnt目录下看到NFS服务器上的文件。
说明,使用开发板与虚拟机安装的客户系统进行NFS挂载,需要将虚拟网卡设置为Bridged模式,并建议使用静态IP地址。
如果在使用中需要增加新的NFS共享目录,直接修改/etc/exports文件即可。修改该文件后,可以不用重启NFS服务,用exportfs命令读取/etc/exports文件,重新共享输出。exportfs命令语法如下:
exportfs [-aruv]
选项说明:
-a:全部挂载(或卸载) /etc/exports的设置;
-r:重新挂载/etc/exports的设置;
-u:卸载某一个目录;
-v:在输出的时候,把共享目录显示出来。
如果NFS已经启动,修改了/etc/exports文件,执行如下命令,新的设置即可生效:

UBUNTU 安装PHP
考虑到前不久在这儿测试Wordpress主题的惨痛经历,俺决定自己建一个web平台来先在本机测试
本来想在openSUSE中安装,但想想apt- get这几键俺按得比较多,就先在Ubuntu中下手
按照 Unofficial Ubuntu 606 (Dapper Drake) Linux Starter Guide的步骤来
一、安装Apache2
sudo apt-get install apache2
然后在Firefox中打开:
>本教程假设你已有一台在运行的Ubuntu服务器,网络方面已设置好,而且可以通过SSH进行访问。
Apache2是许多安装的Linux发行版使用的默认Web服务器。它不是对所有环境来说唯一可用的Web服务器,也不是最佳的Web服务器,但是它适合许多使用场景。在安装过程中,系统可能会询问你哪个Web服务器要自动重新配置。选择“apache2”即可。
安装Apache2
使用下面这个命令,安装Apache2及其他库。
$ sudo apt-get -y install apt-get install apache2 apache22-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby
更新时区(TimeZone)和检查正确时间
为了减小共享数据或镜像数据方面的混淆,所有服务器在运行时都应该尽可能接近同步状态。一些加密密钥管理系统需要准确的时间。最后,就企业服务器而言,《萨班斯-奥克斯利法案》(Sarbanes-Oxley)和《健康保险可携性及责任性法案》(HIPAA)的安全规则要求正确的时间戳机制。
$ sudo apt-get -y install openntpd tzdata
$ sudo dpkg-reconfigure tzdata
$ sudo service openntpd restart
禁止AppArmor冲突
虽然AppArmor这个套件的确提供了一层额外的安全,但在我看来,需要为每个系统创建自定义配置文件。这不是本教程所探讨的内容。所以眼下,我们会禁用AppArmor,防止与任何默认的配置发生冲突。
$ sudo /etc/initd/apparmor stop
$ sudo update-rcd -f apparmor remove
$ sudo apt-get remove apparmor apparmor-utils
注意:如果是生产环境下的Web服务器,不建议禁用AppArmor。如果有些人想创建自定义的AppArmor配置文件,请参阅官方说明文档(>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12727895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存