怎么搭建本地Ubuntu镜像服务器

怎么搭建本地Ubuntu镜像服务器,第1张

你这种情况比较复杂!全部镜像的话会比较大,特别是第三方的编译包;

镜像方法会比较简单:可以用rsnyc等同步软件直接从服务器同步,本地需要搭建一个简单的apache2服务器。

介绍文章如下,其实没有那么复杂,因为你的不需要和官方一起发布出去,只需本地使用。

你应给可以用类似与deb cdrom:[Ubuntu 1204 LTS _Precise Pangolin_ - Release i386 (20120423)]/ precise main restricted 的语句放在/etc/apt/sourceslist文件里。

本教程假设你已有一台在运行的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://wikiapparmornet/indexphp/Documentation)。

阻止分布式拒绝服务(DDoS)攻击

DDoS攻击是一种分布式拒绝服务攻击。有一个Apache模块可以阻止这类攻击。

$ sudo apt-get -y install libapache2-mod-evasive

$ sudo mkdir -p /var/log/apache2/evasive

$ sudo chown -R www-data:root /var/log/apache2/evasive

把下面这个命令添加到mod-evasiveload的末尾处。

$ sudo nano /etc/apache2/mods-available/mod-evasiveload DOSHashTableSize 2048

DOSPageCount 20 # 请求同一页面的最大数量

DOSSiteCount 300 # 同一侦听器上同一客户端IP请求任何对象的总数量

DOSPageInterval 10 # 页面数量阈值的间隔

DOSSiteInterval 10 # 站点数量阈值的间隔

DOSBlockingPeriod 100 # 客户机IP被阻止的时间段

DOSLogDir “/var/log/apache2/evasive”

DOSEmailNotify admin@domaincom

阻止Slowloris攻击

还有一个Apache模块可以阻止Slowloris攻击,不过模块名称取决于你使用的Ubuntu的具体版本。如果是Ubuntu 1210或以后版本:

$ sudo apt-get -y install libapache2-mod-qos

然后,检查qosconf中的配置:

$ sudo nano /etc/apache2/mods-available/qosconf

## 服务质量方面的设置

# 处理来自多达100000个不同IP的连接

QS_ClientEntries 100000

# 只允许每个IP仅50条连接

QS_SrvMaxConnPerIP 50

# 活动TCP连接的最大数量限制在256条

MaxClients 256

# 当70%的TCP连接被占用时,禁用保持活动连接状态

QS_SrvMaxConnClose 180

# 最小请求/响应速度(拒绝阻塞服务器的慢速客户端,即slowloris保持连接开启,不提出任何请求):

QS_SrvMinDataRate 150 1200

# 并限制请求标题和主体(注意,这还限制了上传和发帖请求):

# LimitRequestFields 30

# QS_LimitRequestBody 102400

注意:如果你运行1204之前的Ubuntu版本,改而使用下面这个命令:

$ sudo apt-get -y install libapache2-mod-antiloris

检查antilorisconf中的配置

$ sudo nano /etc/apache2/mods-available/antilorisconf

# 每个IP地址处于READ状态的最大并行连接数量

IPReadLimit 5

阻止DNS注入攻击

Spamhaus这个模块使用域名系统黑名单(DNSBL),目的是为了阻止通过Web表单实现的垃圾邮件转发,防止URL注入攻击,阻止来自机器人程序的http DDoS攻击,通常保护服务器,远离已知的恶意IP地址。

$ sudo apt-get -y install libapache2-mod-spamhaus

$ sudo touch /etc/spamhauswl Append the config to apache2conf

$ sudo nano /etc/apache2/apache2conf

MS_METHODS POST,PUT,OPTIONS,CONNECT

MS_WhiteList /etc/spamhauswl

MS_CacheSize 256

重启Apache装入新模块

$ sudo service apache2 restart

现在Web服务器已安装完毕,并在正常运行。将Web浏览器指向你的域,即可看到证明你一切正常的默认消息。作为最后的检查机制,运行下面这个命令,看看你的服务器有没有任何错误信息。要是有错误信息,你需要上谷歌搜索一下,立马解决这些错误。

$ sudo tail -200 /var/log/syslog

如果想用Ubuntu作为网站的服务器,一些基本的服务是必备的。本文对环境的搭建做一个简单的整理。

Appach

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

安装

sudo apt-get install apache2

大概5M左右,安装完成后服务器会自动启动

在浏览器里输入http://localhost或者是http://127001或者输入IP,如果看到了It works!,那就说明Apache就成功的安装了,Apache的默认安装,会在/var下建立一个名为www的目录,这个就是Web目录了,所有要能过浏览器访问的Web文件都要放到这个目录里。

如果更改配置重新启动命令如下:

sudo /etc/initd/apache2 restart

到这里,如果只是单纯的跑一些静态网页的话这儿就够了,只需要将设计的html文件放入/var/www目录即可

到这里我遇到一个问题没解决就是根目录下的二级目录无法访问,重新安装多次,都是同样的问题。

PHP

PHP支持同样是很多网站必备之一,安装命令如下:

sudo apt-get install libapache2-mod-php5 php5

需要下载6M左右安装包。安装扩展:

sudo apt-get install libapache2-mod-php5 php5

Mysql

sudo apt-get install mysql-server mysql-client

需要下载26M左右的安装包,等待安装完成,弹出设定密码界面:

输入数据库root密码,按tab键选择确定。接下来会要求重复密码,重复同样操作。

数据库安装完成后,为了方便管理和操作,继续安装phpmyadmin。

sudo apt-get install phpmyadmin

需要下载6M左右的安装包,安装完成后进入设置界面,

tab键选择是,进行安装,在安装过程中会要求选择Web server:apache2或lighttpd,使用空格键选定apache2,按tab键然后确定。接下来要求输入密码,输入在上一步中设置的密码,需要输入两次,完成安装。

然后将phpmyadmin与apache2建立连接,www目录在/var/www,phpmyadmin在/usr/share /phpmyadmin目录,所以就用命令:

sudo ln -s /usr/share/phpmyadmin /var/www

建立链接。

phpmyadmin测试:在浏览器地址栏中打开http://localhost/phpmyadmin就能够进入登录界面,输入前面配置的用户名和密码进行登录,如下图所示。

登录后界面如图所示。

FTP

要想对网站和数据进行管理,少不了的是ftp,通过ftp可以很方便的上传/下载文件,实现管理,因此需要安装ftp管理工具。

sudo apt-get install vsftpd

  首先我们考虑搭建FTP服务需要关注的都有哪些方面?比如我们最经常关注的有:

1、如何添加FTP用户?

2、如何临时冻结某FTP用户?

3、FTP用户登入后的默认目录?是否可以改变?

4、如何锁定FTP用户可访问的目录范围?

5、FTP用户可以有哪些访问权限?可否上传文件?

我们将带着这些问题来探讨如何配置VSFTP以达到预定目标。

一、主要配置选项

VSFTP的主配置文件是/etc/vsftpdconf 。由于可配置的选项实在太多,无法一一详谈,只能截取比较常用的功能配置选项来加以说明。完整说明可参考man vsftpdconf。

这里需要注意的是,每个配置选项都是由“配置项目名称=配置值“所定义。在每个配置变量后,要紧跟等号,再紧跟设置的变量值。中间不允许出现空格之类的分隔符,否则导致配置错误,无法生效!

另外,如果需要开通上传功能,则应注意用来登录FTP的本地系统用户对要操作的目录需要具备写权限,否则无法上传文件!

版本vsftpd: version 206

启动VSFTPD:sudo /etc/initd/vsftpd start

停止VSFTPD:sudo /etc/initd/vsftpd stop

重启VSFTPD:sudo /etc/initd/vsftpd restart

以下为常用的配置选项:

1、listen=YES

设置为YES,开启监听网络。

2、anonymous_enable

若设置为YES,则允许匿名用户访问;若设置为NO则拒绝匿名用户访问。

如果开启的话,则可以通过用户名ftp或者anonymous来访问,密码随便。

3、local_enable

若设置为YES,则允许通过本地用户帐号访问;若设置为NO,则拒绝本地用户帐号访问。如果你拒绝了陌生人访问,那么这个必须设置为YES吧,否则谁能访问你的FTP呢?

4、write_enable

若设置为YES,则开启FTP全局的写权限;若设置为NO,则不开。

若为NO则所有FTP用户都无法写入,包括无法新建、修改、删除文件、目录等操作,也就是说用户都没办法上传文件!!

5、anon_upload_enable

若设置为YES,开启匿名用户的上传权限。前提是write_enable有开启,并且用户具有对当前目录的可写权限。 若设置为NO,则关闭匿名用户的上传权限。

6、anon_mkdir_write_enable

若设置为YES,开启匿名用户新建目录的权限。前提是write_enable有开启,并且用户具有对当前目录的可写权限。 若设置为NO,则关闭匿名用户新建目录的权限。

7、dirmessage_enable

若设置为YES,则可开启目录信息推送,也就是用户登录FTP后可以列出当前目录底下的文件、目录。 这个应该要开启吧!

8、xferlog_enable

若设置为YES,则开启登录、上传、下载等事件的日志功能。应开启!

9、xferlog_file=/var/log/vsftpdlog

指定默认的日志文件,可指定为其他文件。

10、xferlog_std_format

若设置为YES,则启用标准的ftpd日志格式。可以不启用。

11、connect_from_port_20

若设置为YES,则服务器的端口设为20。

如果不想用端口20,可以另外通过ftp_data_port来指定端口号。

12、chown_uploads

若设置为YES,则匿名用户上传文件后系统将自动修改文件的所有者。

若要开启,则chown_username=whoever也需指定具体的某个用户,用来作为匿名用户上传文件后的所有者。

13、idle_session_timeout=600

不活动用户的超时时间,超过这个时间则中断连接。

14、data_connection_timeout=120

数据连接超时时间 。

15、ftpd_banner=Welcome to blah FTP service

FTP用户登入时显示的信息 。

16、local_root=/home/ftp

指定一个目录,用做在每个本地系统用户登录后的默认目录。

17、anon_root=/home/ftp

指定一个目录,用做匿名用户登录后的默认目录。

18、chroot_local_user、 chroot_list_enable、chroot_list_file

这个组合用于指示用户可否切换到默认目录以外的目录。

其中,chroot_list_file默认是/etc/vsftpdchroot_list,该文件定义一个用户列表。

若chroot_local_user 设置为NO,chroot_list_enable设置为NO,则所有用户都是可以切换到默认目录以外的。

若chroot_local_user 设置为YES,chroot_list_enable设置为NO,则锁定FTP登录用户只能在其默认目录活动,不允许切换到默认目录以外。

若chroot_local_user 设置为YES,chroot_list_enable设置为YES,则chroot_list_file所指定的文件里面的用户列表都可以访问默认目录以外的目录,而列表以外的用户则被限定在各自的默认目录活动。

若chroot_local_user设置为NO,chroot_list_enable设置为YES,则chroot_list_file所指定的文件里面的用户列表都被限定在各自的默认目录活动,而列表以外的用户则可以访问默认目录以外的目录。

建议设置:chroot_local_user与chroot_list_enable都设置为YES。这样就只有chroot_list_file所指定的文件里面的用户列表可以访问默认目录以外的目录,而列表以外的用户则被限定在各自的默认目录活动!

好处:所有人都被限制在特定的目录里面。如果某些特定用户需要访问其他目录的权限,只需将其用户名写入chroot_list_file文件就可以赋予其访问其他目录的权限!

1、首先安装SVN这个软件

apt-get install subversion

2、在home目录下创建一个名为svn的文件夹(文件夹的名字随便起)

mkdir /home/svn

3、创建数据仓库(可以根据需要创建多个)

svnadmin create /home/svn/test

4、启动svn网络服务

svnserve -d -r /home/svn

其中 -d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库,在网络上可以访问的地址。

/home/svn指定svn数据仓库存放的目录位置

5、设置svn: 方式的访问权限

在每个数据仓库目录下都有一堆目录,进入 conf 并打开 svnserveconf 这个文件,找到以下几行,

并把前面的注解符号 ‘#’ 去掉,注意千万在每行的前面别留任何空格。

anon-access = read

auth-access = write

password-db = passwd

其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限。

但如果想拒绝匿名用户的访问,只需把 anon-access的read 改成 none 就能达到目的。

password-db 后的 passwd 则为定义用户名及密码的文件路径。这个文件默认跟 snvserveconf 在

同一个目录,下面看看怎么配置 passwd文件中的内容。

[user]

# harry = harryssecret

# sally = sallyssecret

harry 和 sally 这两行分别定义了可以对 repo 进行写入的用户的用户名和密码。我们可以在下面加上

自己的用户名和密码,比如

testsvn = tester

这样就给了用户 testsvn 往 repo 中写的权限。存盘退出后,svn 服务器就算正式可以运行了!

把所有需要管理的项目都放在 /home/svn这个目录下,像正常那样用 svnadmin create 命令建立数据仓库。

这样就可以使用svn客户端通过 “svn co svn://IP地址/数据仓库目录” 的方式把服务器上的数据仓库拉到本地了。

最近升级了下linode,发现svn 不能提交和更新,报svn: E000061: Unable to connect to a repository at URL这样的错误,后来查了些资料,原来是svn的端口没有打开,svn的默认端口是3690,在ubuntu里查看端口打开情况,命令是 netstat -anp,把svn服务重新启动下就可以了,命令为svnserve -d -r /home/svn

1、安装ntp软件

sudo apt-get install ntp

2、修改配置文件

sudo vim /etc/ntpconf

driftfile /var/lib/ntp/ntpdrift

statistics loopstats peerstats clockstats

filegen loopstats file loopstats type day enable

filegen peerstats file peerstats type day enable

filegen clockstats file clockstats type day enable

server ntpubuntucom

restrict -4 default kod notrap nomodify nopeer noquery

restrict -6 default kod notrap nomodify nopeer noquery

restrict 192168100 mask 2552552550 nomodify

restrict 127001

restrict ::1

主要是在配置文件中的:

restrict -6 default kod notrap nomodify nopeer noquery

语句后面加入:

restrict 192168100 mask 2552552550 nomodify

restrict 192168100 mask 2552552550 nomodify---主要是允许能同步的服务器所在的内部网段

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎么搭建本地Ubuntu镜像服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情