centos htdocs,centos-7

大家好,感谢邀请,今天来为大家分享一下centos htdocs的问题,以及和centos-7的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

centos网站目录在哪

一台新的linux CentOS服务器,apache默认解析路径是/var/www/html。如果不想使用这个默认路径,可以自己设置一个目录。操作方法如下:

1、首先Linux与Windows的目录有别于Windows可以分很多个盘,Linux只有一个根目录/,所有文件夹都在根目录下。

2、bin文件夹Binary的缩写,这个目录存放着经常使用的命令。

3、boot为启动文件夹,这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

4、home家目录,用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

5、最后media,linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

如何在CentOS Linux下安装ASTERISK和FreePBX

安装ASTERISK和FreePBX

一、环境要求:

操作系统:centos 5.0以上(以最小化形式安装)

Linux内核版本:2.6.22

Asterisk版本:asterisk V.1.6.2.18

FreePBX版本:FreePBX:2.9.0

以rpm方式安装好的LAMP环境

以root身份登录

二、所需软件包

三、安装步骤

1、Lamp的安装

下载所有软件包到/usr/local/src路径

配置yum源,安装相关软件

yum–y update

yum install–y httpd http-devel mysql mysql-devel mysql-server php php-devel php-mysql

yum install php5 php5-cli php5-mysql php-pear libapache2-mod-php5 php5-curl php5-gd php-db

mkdir/var/lib/mysql

chown–R mysql:mysql/var/lib/mysql

/etc/init.d/httpd start

chkconfig–level 35 httpd on

mysql_install_db

chown–R mysql.mysql/var/lib/mysql

/etc/init.d/mysqld start

chkconfig–level 35 mysqld on

mysqladmin–uroot password 123456#设置mysql密码为123456

cp/usr/share/doc/mysql-server-5.0.22/my-medium.cnf/etc/my.cnf

yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml

/etc/init.d/httpd restart

vim/var/www/html/index.php

测试一下:

测试php连接apache:<? phpinfo();?>

测试php连接mysql: vim/usr/local/apache2/htdocs/aaa.php

<?php

$link=mysql_connect(“localhost”,”root”,”123456″);

if(!$link) echo“FAILD!”;

else echo“OK!”;

?>

访问下即可。

service iptables stop

iptables–F

setenforce 0

vi/etc/selinux/config

修改SElinux= disable

重启系统

2、asterisk的安装

1

cd/usr/local/src/asterisk-1.6.2.18/

useradd-c“Asterisk PBX”-d/var/lib/asterisk asterisk

mkdir/var/run/asterisk

mkdir/var/log/asterisk

chown-R asterisk:asterisk/var/run/asterisk

chown-R asterisk:asterisk/var/log/asterisk

chown-R asterisk:asterisk/var/lib/php/session/

chown-R asterisk/var/lib/php#比较重要

vim+231/etc/httpd/conf/httpd.conf将用户、组修改为 asterisk

vim+327/etc/httpd/conf/httpd.conf将 None修改为 All

./configure

make

make install

make samples

make progdocs

/etc/init.d/mysqld restart

3、freePBX的安装:

yum install e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear php-pear-DB php-gd php-mysql php-pdo kernel-devel ncurses-devel audiofile-devel libogg-devel openssl-devel mysql-devel zlib-devel perl-DateManip sendmail-cf sox

yum install gcc gcc-c++ wget bison mysql-devel mysql-server php php-mysql php-pear php-pear-DB php-mbstring nano tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel php-gd audiofile-devel gtk2-devel subversion kernel-devel

yum install festival festival-dev

yum install ncurses-base ncurses-bin ncurses-term libncurses5 libncursesw5 libncurses5-dev libncursesw5-dev

yum install zlib1g zlib1g-dev

yum install bison bison-doc

yum install install libxml2 libxml2-dev

yum install libtiff4 libtiff4-dev

yum install libasound2 libgsm1 libltdl3 libpq4 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev

yum install libnet-telnet-perl mime-construct libipc-signal-perl libmime-types-perl libproc-waitstat-perl

cd/usr/local/src/freepbx-2.9.0/

mysqladmin create asterisk–uroot–p123456

mysqladmin create asteriskcdrdb–uroot–p123456

mysql asterisk< SQL/newinstall.sql–uroot–p123456

mysql asteriskcdrdb< SQL/cdr_mysql_table.sql–uroot–p123456

mysql–uroot–p123456

GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY‘123456’;

GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY‘123456’;

grant all privileges on*.* to asterisk@localhost identified by“123456”;

flush privileges;

exit

用asterisk登陆一下mysql试试:mysql–uasterisk–p123456

如果成功,表明设置正确。

./start_asterisk start

mkdir/var/www/html/asterisk/

mkdir/var/www/html/asterisk/cgi-bin

chown-R asterisk:asterisk/var/www/html/asterisk

./install_amp

如图:保持默认,回车即可

将【asteriskuser】设置为 asterisk(连接数据库的用户名)

将【amp109】设置为 123456(连接数据库的密码)

再上面的选项上键入需要访问的ip地址。如:192.168.1.43

保持默认配置即可。

即可访问!!!!!!!!!!!!!!!

如果访问不成功

rm-rf/etc/amportal.conf

再./install_amp重新配置一遍

如果还不成功,那么:

rm-rf/etc/asterisk/*

./install_amp

用这条命令检查一下文件是否存在:

vim/etc/asterisk/sip.conf

四、配置内部通讯:

1、登录freepbx管理界面

2、选择setup菜单栏的Extensions选项。如图所示:

然后选择右边的Add Extension,如图:

如图所示:

选择:Submit

出现添加对话框,如图所示:

在User Extension一项填入用户分机号,如888

在 Disply Name一项填入用户显示名,如888

下拉对话框,如图:

填入密码:如123456。

选择提交即可。这时服务器端已经添加了一个内部账号,接着在客户端注册这个账号。

打开eyebeam软件,如图所示:

选择上面的向下箭头show menu

然后选择 SIP account setting

打开如图所示对话框:

选择 Add添加一个账号

Display Name中填入服务器上设置好的内容,如:888

User name中填入服务器上设置好的user extension内容,如:888

Password中填入刚才设置好的密码,如123456

Authorization user name中填入服务器上设置好的user extension内容,如:888

Domain中填入服务器的ip地址,如192.168.1.43

完成后点击确定即可。

再点击close关闭SIP Accounts对话框,完成注册。

最后按照如上注册步骤再注册一个客户端,就可以实现内部互相拨打电话了。

CentOS上的安全防护软件Selinux详解

selinux简介

SELinux(Security-Enhanced Linux)是美国国家安全局(NSA)对于强制访问控制的实现,是Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux默认安装在Fedora和Red Hat Enterprise Linux上,也可以作为其他发行版上容易安装的包得到,2000年以GNU GPL发布,Linux内核2.6版本后集成在内核中

DAC:Discretionary Access Control自由访问控制

MAC:Mandatory Access Control强制访问控制

DAC环境下进程是无束缚的

MAC环境下策略的规则决定控制的严格程度

MAC环境下进程可以被限制的

策略被用来定义被限制的进程能够使用那些资源(文件和端口)

默认情况下,没有被明确允许的行为将被拒绝

selinux的工作类型

selinux一共有四种工作类型

strict:每个进程都受到selinux的控制

targeted:用来保护常见的网络服务,仅有限进程受到selinux控制,系统当中默认设置类型

minimum:这个模式在centos7上,是targeted的修改版,只对选择的网络服务,仅对选中的进程生效

mls:提供mls机制的安全性,国防级别的

selinux安全上下文

传统的linux,一切皆文件,由用户、组、权限来进行访问控制,这当中有很多的缺陷

在selinux中,一切皆对象(进程),有存放在inode的扩展属性域的安全元素所控制其访问

所有文件和端口资源和进程都具备安全标签,这就是安全上下文

安全上下文有五个元素组成

system_u:object_r:admin_home_t:s0

user:role:type:sensitivity:category

user:指示登录系统的用户类型,如root,user_u,system_u,多数本地进程都属于自由进程

role:定义文件,进程和用户的用途,文件:object_r,进程和用户:system_r

type:指定数据类型,规则重定义何种进程类型访问何种文件,target策略基于type实现,多服务功用,public_content_t

sensitivity:限制访问的需要,由组织定义的分层安全级别,如unclassified,secret,top,一个对象有且只有一个sensitivity,分0-15个级别,s0最低,target策略默认使用是s0

category:对于特定组织划分不分层的分类,如FBI secret,NSA secret,一个对象可以有多个category,c0-c1023共1024个分类,target策略不适用category

查看安全上下文

ls Z; ps-Z

期望(默认)上下文:存放在二进制的selinux策略库中

semanage fcontext l查看系统中的默认安全上下文

@font-face{

font-family:宋体;

}@font-face{

font-family: Cambria Math;

}@font-face{

font-family: Calibri;

}@font-face{

font-family:@宋体;

}p.MsoNormal, li.MsoNormal, div.MsoNormal{ margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri,sans-serif;}.MsoChpDefault{ font-family: Calibri,sans-serif;}div.WordSection1{}

selinux策略

对象(object):所有可以读取的对象,包括文件、目录和进程,端口等

主体:进程称为主题(subject)

selinux中对所有的文件都赋予一个type的文件类型标签,对于所有的进程也赋予各自的一个domain标签。domain标签能够执行的操作由安全策略里定义

当一个subject视图访问一个object,kernel中的粗略执行服务器将检查AVC,在AVC中,subject和object的权限被缓存,查找应用+文件的安全环境,然后根据查询结果允许或拒绝访问

安全策略:定义主体读取对象的规则数据库,规则中记录了那个类型的主体使用了那个方法读取哪一个对象是允许还是拒绝的,并且定义了那种行为是允许或拒绝

设置selinux

配置selinux

selinux是否启用

给文件重新打安全标签

给端口设置安全标签

设定某些操作的布尔型开关

selinux的日志管理

selinux的状态

enforcing:强制,每个受限的进程都必然受限

permissive:允许;每个受限的进程违规操作不会被禁止,但会被记录与审计日志

disabled:禁用,允许任何操作

getenforce:获取selinux当前状态

sestatus:查看selinux状态

setenforce 0|1

0:设置为permissive

1:设置为enforcing

配置文件

/etc/sysconfig/selinux链接文件链接到/etc/selinux/config

/etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing SELinux security policy is enforced.

# permissive SELinux prints warnings instead of enforcing.

# disabled SELinux is fully disabled.

SELINUX=enforcing

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted Only targeted network daemons are protected.

# strict Full SELinux protection.

SELINUXTYPE=targeted

SELINUX=enforcing设置selinux的状态

SELINUXTYPE=targeted设置selinux的工作类型

设置selinux也可以在开机的时候设定,在/boot/grub/grub.conf文件内核那一行后面设定selinux的状态selinux=0|1,只要配置文件或内核设定为禁用,最后selinux的状态为禁用

注意:在从disabled状态切换至enforcing或permissive状态需要重启系统,这时候系统会对每一个文件一一重打标签,需要花费一定的时间。

修改selinux的安全标签

给文件重新打安全标签

chcon [OPTION] [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE..

chcon [OPTION] reference=RFILE FILE..

-R:递归打标,对目录而言

例如我想给自己定义的web文档根目录自定义为/htdocs

chcon-R httpd_sys_content_t/htdocs

恢复目录或文件默认的安全上下文

resotrecon [-R]/path/to/somewhere

例如:我又将web的文档根目录改为原来的目录,这时候自定义的目录的标签需要还原

restorecon-R/htdocs

恢复是根据策略库当中的策略进行还原

默认安全上下文查询与修改

semanage来自policycoreutils-python包,有些系统默认没有安装,安装次包即可使用semanage命令

查看默认的安全上下文

semanage fcontext l

添加安全上下文

semanage fcontext-a t httpd_sys_content_t/home/hadoop(/.*)?

restorecon Rv/home/hadoop此步骤一定不能忘记,它从策略库进行还原安全上下文,执行此命令才会生效

删除安全上下文

semanage fcontext d t httpd_sys_content_t/home/hadoop(/.*)?

selinux端口标签

查看端口标签

semanage port-l

添加端口

semanage port-a-t port_label p tcp|udp port

semanage port a-t htt_port_t-p tcp 8080

删除端口

semanage port-d-t port_label-p tcp|udp port

semanage port-d-t htt_port_t-p tcp 8080

修改现有(已存在)端口为新标签

semanage port-m t port_label p tcp|udp port

semanage port m t ssh_port_t p tcp 8080将ssh服务的端口改为8080

selinux布尔值

查看布尔值命令

getsebool [-a] [boolean]

semanage boolean l-C查看修改过的布尔值

设置bool值命令

setsebool [-P] boolean value(on|off|1|0)

setsebool httpd_enable_homedirs on|1开启httpd家目录访问,但不会写入策略库中

setsebool-P httpd_enable_homedirs on|1

修改bool值时后面的值可以对布尔值类型后跟=加值的设置方法

setsebool httpd_enable_homedirs=on

selinux的日志管理

需要安装settroublesshoot*安装此包需要重启系统才能生效,它会将错误日志记录到/var/log/message

grep setroubleshoot/var/log/message

sealer-l UUID

查看安全事件日志说明

sealert-a/var/log/audit/audit.log

扫描并分析日志

yum-y install selinux-policy-devel(centos7)

yum y install selinux-policy-doc(centos6)

mandb| makewhatis需要更新man帮助的数据才能查询

man-k _selinux

例如man httpd_selinux

总结:selinux在安全防护上确实起到了一定的作用,它是在内核层面来工作,往往有许多的漏洞,一旦黑客利用漏洞入侵系统后果不堪设想,还有其操作的繁琐和稳定性的欠缺的导致很多企业不愿意用到selinux,一般都会使用硬件的安全防护设备,所以我们只需要作为了解,知道有这么个东西,如何开关闭及一些简单的操作即可。

阅读剩余
THE END