怎么搭建一个可以被外网访问的linux web服务器

怎么搭建一个可以被外网访问的linux web服务器,第1张

首先需要将你的web服务器搭建好,然后需要做NAT,我这里有我的一个做NAT的笔记,分享给你

NAT

拓扑结构图:

要求:

1内网能够ping通外网地址,并且成功访问外网中的web服务;

2外网能够访问内网的ftp服务。

步骤:

一:内网服务器配置

1在内网中设置好ip地址,网关和DNS均为NAT服务器内网口地址,并搭建好ftp服务,此处略

二:NAT服务器配置

1在NAT只能中添加一块网卡作为 外网卡,并设置好ip地址

2开启NAT服务器的路由功能

[root@c2 ~]# vi /etc/sysctlconf

netipv4ip_forward = 1              //将0改为1

[root@c2 ~]# sysctl -p                //永久生效

3配置防火墙(必须按照以下循序配置,否则配置完成后不能拼通外网,需配置第二次)

#iptables-X

#iptables-t nat -X

#iptables --flush

#iptables -t nat --flush  

//以上为重置链表的命令

#iptables-t nat -A POSTROUTING -s 19216810/24 -o eth1 -j SNAT --to 202101012

//这条命令是将内网19216810/24的源地址映射为NAT服务器的外网口地址,eth1为外网卡

# iptables -t nat -A PREROUTING -p tcp--dport 21 -j DNAT --to 192168111

# iptables -t nat -A PREROUTING -p tcp--dport 20 -j DNAT --to 192168111

//这两条命令是发布内务的ftp服务

或者:                                                                                 

# iptables -t nat -A PREROUTING -p tcp -d 202101012--dport 21 -j DNAT --to 192168111

# iptables -t nat -A PREROUTING -p tcp -d 202101012--dport 20 -j DNAT --to 192168111 

#/etc/initd/iptablessave

#/etc/initd/iptablesrestart

验证:

内网访问外网的web服务:

[root@c1 ~]# curl 202101013

web

外网访问内网的ftp服务(外网的防火墙一定要关闭,否则ls查看目录时会出错,或者打开外网的20号端口新建链接的也可以)#

[root@c3 ~]# ftp 202101012

Connected to 202101012 (202101012)

220 (vsFTPd 222)

Name (202101012:root): ftp01

331 Please specify the password

Password:

230 Login successful

Remote system type is UNIX

Using binary mode to transfer files

ftp> ls

227 Entering Passive Mode(192,168,1,11,93,1)

ftp: connect: Network isunreachable     //列不出内容是因为进入了passive模式

ftp>passive                                                      //用passive命令切换passive模式和active模式

Passivemode off

ftp> ls

200 PORT command successful Consider usingPASV

150 Here comes the directory listing

226 Directory send OK

ftp>

补充:

删除防火墙中配置的记录

[root@c2 ~]# iptables -t nat  -L POSTROUTING -n --line-number   //列出记录和记录序号

[root@c2 ~]# iptables -t nat -D POSTROUTING1                 //根据序号删除记录

你将内网的ftp服务换成web服务就可以了,主要是弄懂NAT的原理,将内部服务通过DNAT发布到外网

1开始说明

本教程中使用的IP地址是1921680100,主机名称为Server1examplecom 这些设置可能会有所不同,你需要根据不同情况进行修改。

CentOS 62下安装MySQL

2开始安装MySQL5

首先我们应该先用下面的命令安装MySQL:

yum install mysql mysql-server

然后我们需要创建MySQL系统的启动键链接启动MySQL服务器,这样以便于MySQL在系统启动时自动启动

chkconfig --levels 235 mysqld on

/etc/initd/mysqld start

为MySQL root帐户设置密码:

mysql_secure_installation

会出现下面的一系列提示:

root@server1 ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current

password for the root user If you've just installed MySQL, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here

Enter current password for root (enter for none):

OK, successfully used password, moving on

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation

Set root password [Y/n] <-- ENTER

New password: <-- yourrootsqlpassword

Re-enter new password: <-- yourrootsqlpassword

Password updated successfully!

Reloading privilege tables

Success!

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them This is intended only for testing, and to make the installation

go a bit smoother You should remove them before moving into a

production environment

Remove anonymous users [Y/n] <-- ENTER

Success!

Normally, root should only be allowed to connect from 'localhost' This

ensures that someone cannot guess at the root password from the network

Disallow root login remotely [Y/n] <-- ENTER

Success!

By default, MySQL comes with a database named 'test' that anyone can

access This is also intended only for testing, and should be removed

before moving into a production environment

Remove test database and access to it [Y/n] <-- ENTER

- Dropping test database

Success!

- Removing privileges on test database

Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately

Reload privilege tables now [Y/n] <-- ENTER

Success!

Cleaning up

All done! If you've completed all of the above steps, your MySQL

installation should now be secure

Thanks for using MySQL!

[root@server1 ~]#

CentOS 62下安装Apache

3安装阿帕奇2

Apache2的是作为一个CentOS的软件包,因此我们可以直接用下面命令安装它:

yum install httpd

现在配置系统在引导时启动Apache

chkconfig --levels 235 httpd on

并启动Apache

/etc/initd/httpd start

现在,您的浏览器到http://1921680100,你应该看到Apache2的测试页:

Apache 2测试网页

Apache的默认文档根目录是在CentOS上的/var/www/html 目录 ,配置文件是/etc/httpd/conf/httpdconf。配置存储在的/etc/httpd/confd/目录。

4安装PHP5

我们可以用下面的命令来安装PHP5

yum install php

安装完需要重启

/etc/initd/httpd restart

CentOS 62下安装PHP5

5我们可以安装PHP5和Apache的PHP5的模块如下:

默认网站的文件根目录是在/srv/www/html中。现在我们将在该目录中创建一个小型PHP文件(infophp的)在浏览器中调用它。该文件将显示很多关于我们的PHP安装,如安装的PHP版本和有用的一些细节。

vi /var/www/html/infophp

修改细节

现在,我们可以用浏览器访问例如http://1921680100/infophp文件

PHP页面

正如你所看到的,PHP5的工作,它通过Apache 20的处理程序,在服务器API线。如果你继续向下滚动,你会看到所有在PHP5中已经启用的模块。MySQL是没有列出,这意味着我们没有在PHP5支持MySQL。

6PHP5获得MySOL的支持

让PHP在MySQL中获得支持,我们可以安装的php-mysql软件包。安装一些其他的PHP5模块,以及您可能需要的应用程序,这是一个好主意:

yum search php

还安装需要安装的

yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc

现在重新启动Apache2的:

/etc/initd/httpd restart

现在,重载http://1921680100/infophp在您的浏览器,并再次向下滚动到模块部分。现在,你应该找到许多新的模块,包括MySQL模块:

MySQL页面

CentOS 62下安装phpMyAdmin

7安装phpMyAdmin

phpMyAdmin是一个网络接口,通过它可以管理你的MySQL数据库。

首先,我们使CentOS系统RPMForge软件库的phpMyAdmin,而不是官方的CentOS 62库:

所以需要导入RPMForge的GPG密钥:

rpm --import http://dagwieerscom/rpm/packages/RPM-GPG-KEYdagtxt

x86_64系统:

yum install http://pkgsrepoforgeorg/rpmforge-release/rpmforge-release-052-2el6rfx86_64rpm

在i386系统:

yum install http://pkgsrepoforgeorg/rpmforge-release/rpmforge-release-052-2el6rfi686rpm

安装phpmyadmin

yum install phpmyadmin

现在我们可以设置phpMyAdmin,了我们可以改变Apache的配置来让phpMyAdmin不仅仅只能从localhost登录。

vi /etc/httpd/confd/phpmyadminconf

配置

下一步,我们从HTTP改变的phpMyAdmin的cookie来身份验证:

vi /usr/share/phpmyadmin/configincphp

修改身份验证

重启阿帕奇

/etc/initd/httpd restart

在地址栏输入http://1921680100/phpMyAdmin/:你就可以访问phpMyAdmin了。

phpmyadmin页面

CentOS可以得到RHEL的所有功能,甚至是更好的软件。但CentOS并不向用户提供商业支持,当然也不负上任何商业责任。

如果你要将你的RHEL转到CentOS上,因为不希望为RHEL升级而付费。当然,你必须有丰富linux使用经验,因此RHEL的商业技术支持对你来说并不重要。但如果你是单纯的业务型企业,那么还是建议你选购RHEL软件并购买相应服务。这样可以节省你的IT管理费用,并可得到专业服务。

安装linux操作系统,安装jdk,安装tomcat配置环境变量,更改tomcat配置文件,写入数据库连接信息,比如:

通过tomcat连接1921681100上的oracle数据库,其中sid为orcl

[tomcat@localhost classes]# pwd

/home/tomcat/apache-tomcat-601/webapps//WEB-INF/classes

[tomcat@localhost classes]# vim hibernateproperties

jdbcurl=jdbc:oracle:thin:@1921681100:1521:orcl

1、apache/nginx/tomcat等等都可以,得看你要部署的页面是什么格式

2、用yum安装,例如yum install httpd

3、用源码编译安装,例如nginx-161gz

tar zxf pcre-813targz

pushd pcre-813

/configure;make;make install

popd

tar zxf nginx-161targz

tar jxf zlib-125tarbz2

tar zxf openssl-101itargz

pushd nginx-161

/configure \

--prefix=/usr/local/nginx \

--sbin-path=/usr/sbin \

--with-http_ssl_module \

--with-http_sub_module \

--with-http_flv_module \

--with-http_stub_status_module \

--with-zlib=/zlib-125 \

--with-openssl=/openssl-101i \

--with-pcre=/pcre-813

make;

make install

一台典型的Linux服务器运行命令行环境中,并已经包括了一些用于安装和配置各种没有界面的服务的基本工具。和一些成熟的具有图形界面的桌面软件相比,就安全性、资源消费和速度来说,仅需要少量的设置无疑是一个优点。如果你习惯了使用基于图形界面的软件环境,你也许会想在Linux服务器中是否也有图形界面。典型的Linux桌面环境如GNOME、KDE等,与它们提供的功能相比,其所占用的系统资源负担是很不值得的,而且还不够安全,因为越多的代码越会带来安全弱点。

另外一个成熟的桌面GUI的可选替代是使用基于Web的管理工具。现在已经有许多基于Web的配置管理工具,如 Webmin、ISPconfig、Zentyal等。

在这篇教程中,我会讲述:怎样利用基于Web的界面工具来管理和配置Linux服务器。

Webmin 是一个用Perl语言写的轻量级 (~20 MB) 系统配置工具。 Webmin 具有内置的web服务器, 允许用户通过web接口来配置Linux服务器。 其中一个优点是由于它是基于模块架构的,你可以选择性加载模块来扩展其功能。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎么搭建一个可以被外网访问的linux web服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情