第一天:
1、安装Linux
关于分区(可后期扩展):选择自定义分区
1)新建:Standard Partition,Mount Point:选择 /boot 500M固定大小
2)新建:Create LVM -> LVM Physical Volumn 大小为所有;
3)新建:Create LVM -> LVM Volumn Group ,右下方点击ADD,先添加“SWAP”,交换区一般和内存一样大或内存大一些;然后再添加/,将所有空间分给根。
2、做镜像
3、调网络:
启动后没有man命令,利用yum install man* 下载时提示无网络,同时利用“命令 --help”,也可以看到说明;
通过ifconfig查看只有一个lo,没有eth0,通过检查 cat /etc/sysconfig/network-scripts/ifcfg-eth0 发现:ONBOOT = no,通过VIM修改为yes,但vim后发现vim 也没有安装,先用vi进行修改后,再下载vim。 修改完成后重启网络服务:service network restart
4、下载命令:
执行yum后提示: another app is currently holding the yum lock;
解决办法:#rm -f /var/run/yum.pid /sbin/service
vim:yum list |grep vim yum install vim 安装中途不小心按键暂停了,恢复键为:fg
man: yum install man
卸载命令:yum remove man
5、安装图形界面
yum groupinstall "Desktop"
yum groupinstall "X Window System"
yum groupinstall "Chinese Support"
startx
2)使用本地安装(未安装成功)
1、首先进行光盘的挂载,注意光盘挂载时不会自动建立目录的,所以需要自己建立目录
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom #dev目录为设备目录
2、更改本地源地址
cd /etc/yum.repos.d/ #可以看见CentOS-Base.repo和CentOS-Media.repo文件
注意:
CentOS-Base.repo记录着网络上的yum源的地址和路径信息等
CentOS-Media.repo记录着可以从本地作为yum源的介质和路径
所以,我们更改CentOS-Media.repo就可以了
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
file:///mnt/cdrom #增加这句
3、我们安装gnome,但是在centos6里,gnome已经被改为Desktop了
yum --disablerepo=* --enablerepo=c6-media groupinstall "Desktop"
# 当然也可以看下有没有 groupinstall 改为 grouplist
4、安装好了gnome,还需安装X Window
yum --disablerepo=* --enablerepo=c6-media groupinstall "X Window System"
5、然后我们安装中文语言
yum --disablerepo=* --enablerepo=c6-media groupinstall "Chinese Support"
6、最关键的一步了,启动gnome
startx
然后按下Ctrl+Alt+F2
OK,进入了桌面
第二天:
1、重新安装CentOS6.5,安装时取消任何选择项,共217个包,安装完成后镜像;
2、配置网络并安装man、vim命令
1)配置网络:ifconfig vi /etc/sysconfig/network-scripts/ifcf-eth0
2)安装时提示:Loaded plugins,这主要是由于网络没有默认启动,修改onboot=yes,重启网络后即可;
yum install man;
yum install vim;
创建:mnt/cdrom ,并将这个目录设置为本地源 vim /etc/yum.repos.d/CentOS-Media.repo
3、 安装图形界面
1)加载本地光驱为本地源:mount /dec/cdrom /mnt/cdrom
2)从光盘中安装图形界面
安装完成后,starx启动后鼠标无法用,所有键都没用,只有关闭电源重启,重启后让配置Tools,直接跳过进入命令行;
登录后继续输入startx即进入界面,也正常,只是此时为英文版;
编辑: vim /etc/sysconfig/i18n ,
注释当前的两行,增加LC_ALL=zh_CN.utf8,重启实现界面, 但关机时会提示很多小白块,暂无法解决。
未解决:startx 后可进入界面,按ctl + Alt + F2 可切换到命令行,但再按ctl + Alt + F1 时无法看到界面,提示出错。
第三天:
1、安装mysql
1) yum 安装MySql:yum install mysql-server
2) 设置开机自动启动:chkconfig mysqld on;
chkconfig --list 看所有启动项;
chkconfig --list httpd 看某个服务项的启动情况,2,3,4,5只要为on即可。
0-6 分别表示的是
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
3) 启动MySql服务:service mysqld start
4) 设置root密码:
首先:mysql -u root 进入
然后:select user,host,password from mysql.user; 可以查看一下
然后:set password for root@localhost = password('密码')
最后:退出;
方法二:
mysqladmin -u root -p password='原密码' ,回车
Enter password:
输入原来root的密码就可以更改密码了 。
配置及说明:
MySQL配置文件 /etc/my.cnf (注意修改数据库目录datadir和socket目录)
运行 mysql_secure_installation 设置mysql根用户密码
5) 新密码登录
mysql -u root -p
6) 基本命令
show databases; //查看系统已存在的数据库
use databasesname; //选择需要使用的数据库
drop database databasename; //删除选定的数据库
exit //退出数据库的连接
create database test01; //建立名为test的数据库
show tables; // 列出当前数据库下的表
7) 开放远程登录权限 (未成功)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
2、安装Apache
yum install httpd
chkconfig httpd on
service httpd start
安装位置及说明:
网站根目录 /var/www/html/
Apache主目录 /etc/httpd/
Apache主配置文件 /etc/httpd/conf/httpd.conf
Apache日志 /etc/httpd/logs/
浏览器中输入:http://IP 如果出现Apache2的欢迎界面,则说明启动成功。
此时再在var/www/html目录下新建一个testphp.php文件,并输入
phpinfo();
?>
浏览器中输入: http://IP/testphp.php 若页面的内容能显示,则说明Apache下的php也配置成功
3、安装PHP
yum install php
serveice httpd restart
安装位置及说明:
PHP配置文件 /etc/php.ini
PHP模块位置 /usr/lib/php/ 或者 /usr/lib64/php/
4、防火墙
修改 vim /etc/sysconfig/iptables
在22端口记录下方增加要开的端口,一个端口一条记录,如80,3306,修改后保存;
service iptables restart
OK
5、MySQL遇到问题
描述:输入mysql -u root -p 后提示 mysql ERROR 1045 (28000): Access denied for user (Password=No)
解决:
1)vim /etc/my.cnf 添加:skip-grant-tables ,保存退出;
2)重启mysql服务;
3)直接进入mysql不需要密码;
4)update user set password=password(" 新密码") where user="root";
5)flush privileges;
6)退出,然后注释掉第一项的语句,然后重启服务;
第四天:
1、配置FTP服务器
1)安装 :yum install vsftpd
2)启动:service vsftpd start
3)文件位置及说明: vsftpd服务器的配置文件的是: /etc/vsftpd/vsftpd.conf,vsftpd服务器的根目录,即FTP服务器的主目录:
在/var/ftp处pub,如果你想修改服务器目录的路径,那么你只要修改/var/ftp到别处就行了
4)添加FTP本地用户
FTP用户一般是不能登录系统的,只能进入FTP服务器自己的目录中,这是为了安全.这样的用户就叫做虚拟用户了.实际上并不是真正的虚拟用户,只是不能登录SHELL了而已,没能力登录系统. /usr/sbin/adduser -d /opt/test_ftp -g ftp -s /sbin/nologin test 这个命令的意思是:使用命令(adduser)添加test用户,不能登录系统(-s /sbin/nologin),自己的文件夹在(-d /opt/test_ftp)),属于组ftp(-g ftp),然后你需要为它设置密码 passwd test ,这样就添加了一个FTP用户了。
开通后要加入防火墙,否则外网不能访问:vim /etc/sysconfig/iptables service iptables restart
5)服务器下载ftp客户端: yum install ftp,使用方法 :
ftp
ftp> open ip
ftp> quit
6)匿名上传下载
修改配置文件即可vsftpd.conf,确定有以下几行,没有自己添加进去就可以了.
anonymous_enable=yes
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_umask=022
然后新建一个文件夹,修改它的权限为完全开放,任何用户就可以登录这个文件夹,并上传下载文件:
mkdir /var/ftp/guest
chmod 777 /var/ftp/guest
7)定制进入FTP服务器的欢迎信息
在vsftpd.conf文件中设置:
dirmessage_enable=yes
然后进入用户目录建立一个.message文件,输入欢迎信息即可(我这里写入的是Welcome to gxlinux's FTP!):
7.实现虚拟路径
将某个目录挂载到FTP服务器下供用户使用,这就叫做虚拟路径.
比如将gxl用户的目录挂载到FTP服务器中,供FTP服务器的用户使用,使用如下命令即可:
[root@localhost opt]# mount --bind /home/gxl /var/ftp/pub #使用挂载命令
[root@localhost opt]# ls /var/ftp/pub
LumaQQ Screenshot.png 桌面
8.打开vsFTPd的日志功能
添加下面一行到vsftpd.conf文件中,一般情况下该文件中有这一行,只要把前面的注释符号#去掉即可,没有的话就添加,或者修改:
xferlog_file=/var/log/vsftpd.log
9.限制链接数,以及每个IP最大的链接数
修改配置文件中,例如vsftp最大支持链接数100个,每个IP能支持5个链接:
max_client=100
max_per=5
10.限制传输速度
修改配置文件中,例如让匿名用户和vsftd上的用户(即虚拟用户)都以80KB=1024*80=81920的速度下载
anon_max_rate=81920
local_max_rate=81920
11.将用户(一般指虚拟用户)限制在自家目录
修改配置文件中,这样用户就只能访问自己家的目录了:
chroot_local_user=yes
如果只想某些用户仅能访问自己的目录,其它用户不做这个限制,那么就需要在chroot_list文件(此文件一般是在/etc/vsftpd/中)中添加此用户.
编辑此文件,比如将test用户添加到此文件中,那么将其写入即可.一般的话,一个用户占一行.
[root@localhost vsftpd]# cat chroot_list
test
12.绑定某个IP到vsFTPd
有时候要限制某些IP访问服务器,只允许某些IP访问,例如只允许192.168.0.33访问这个FTP,同样修改配置文件:
listen_address=192.168.0.33
配置vsftpd.conf
anonymous_enable=NO #禁止匿名
local_enable=YES #允许本地登录
write_enable=YES #允许写,如需上传,则必须
local_umask=027 #将上传文件的权限设置为:777-local_umask
anon_upload_enable=YES #允许虚拟用户和匿名用户上传
anon_other_write_enable=YES #允许虚拟用户和匿名用户修改文件名和删除文件
dirmessage_enable=YES
xferlog_enable=YES #打开日志记录
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log #日志存放位置
xferlog_std_format=YES #标准日志格式
idle_session_timeout=600 #空闲连接超时
data_connection_timeout=120
ftpd_banner=Welcome to ChinaRise FTP service #欢迎信息
guest_enable=yes #允许虚拟用户
guest_username=vsftpdguest #虚拟用户使用的系统账号
virtual_use_local_privs=YES #虚拟用户拥有本地系统权限
chroot_local_user=NO
chroot_list_enable=YES
#以上两行将虚拟用户限制在其目录下,不能访问其他目录,或者直接用
chroot_local_user=YES
listen=yes #监听/被动模式
listen_port=21 #监听端口
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list #虚拟用户名单保存在文件/etc/vsftpd/vsftpd.chroot_list 中
user_config_dir=/etc/vsftpd/vsftpd_user_conf #每个虚拟用户名的更加详细的培植保存在/etc/vsftpd/vsftpd_user_conf 中
虚拟用户其他设置
在/etc/vsftpd/vsftpd.chroot_list 文件中写入允许登陆的虚拟用户名称,每行一个
在/etc/vsftpd/vsftpd_user_conf 文件夹中创建一个以虚拟用户用户名命名的文件,
写入:local_root = /var/FTP/子目录名
然后在/var/FTP下创建一个对应的目录即可
第五天:
1、安装JAVA
yum install java*
2、安装MySQL
yum install mysql-server
service mysqld status
3、service httpd start
4、安装OPENFIRE
架设CtrmpServer流媒体服务器
http://wiki.rtmpd.com/quickbuild#amd64i3864
1、yum install cmake
2、 yum install gcc gcc-c++ make autoconf make
yum install svn
3、安装OpenSSL openssl-0.9.8版
wget /source/index.htmlopenssl-0.9.8t.tar.gz
#tar -zxvf openssl-0.9.8t.tar.gz
cd openssl-0.9.8t
./config
make
make install
4、svn co --username anonymous --password "" https://svn.rtmpd.com/crtmpserver/branches/1.0 crtmpserver
- #cd crtmpserver
- #sh ./cleanup.sh
- #cd builders/cmake
- #cmake .
- #make
- #./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua
五、发布
将cmake目录拷贝到发布的设备的/usr/local/bin/rtmpd下,同时将所有的*.so文件拷贝到cmake下,即可运行
六、运行
在后台运行:$ ./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua &
查询后台运行所有进程:$ ps -al
查询后台运行进程 : ps -ef|grep crtmpserver(程序名)
3. 简单的配置修改
有时服务器会对某些端口做限制,这时就需要自己指定端口,如"80"端口。这个需求可以通过修改它的配置脚本“crtmpserver/crtmpserver.lua”来实现。
如要添加“80”端口的"rtmp"服务,可以给“crtmpserver/crtmpserver.lua”添加如下代码。(包含“port=80"的第一层大括号的代码是要添加的)
- default=true,
- acceptors =
- {
- {
- ip="0.0.0.0",
- port=80,
- protocol="inboundRtmp"
- },
- {
- ip="0.0.0.0",
- port=1935,
- protocol="inboundRtmp"
- },
- ...
- }
- }
重启服务就可以看到端口生效,就可以从“80“接收rtmp流啦。
使用源码安装配置nginx:
Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 nginx的并发能力确实在同类型的网页伺服器中表现较好.Nginx在一些Linux发行版和BSD的各个变种版本的安装包仓库中都会有,通过各个系统自带的软件包管理方法即可安装。
1、检查系统是否安装nginx
find -name nginx
若要卸载:
yum remove nginx
2、安装前提
在安装nginx前,需要确保系统安装了g++、gcc、openssl-devel、pcre-devel和zlib-devel软件。安装必须软件:
yum install gcc-c++
yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
yum 安装时若出现锁的情况,执行:rm -f /var/run/yum.pid (目录上面有) 再安装即可。
3、开始安装
1)下载 : wget -c http://nginx.org/download/nginx-1.6.1.tar.gz (-c 指断点续传)
2) 移动到源码目录: mv nginx-1.6.1.tar.gz /usr/local/src/
3) 切换到源码目录并解压:tar -zxvf nginx-1.6.1.tar.gz
4) 切换到解压后的源码目录:cd nginx-1.6.1
5) 以下三步为编译:制作安装文件到 /usr/local/nginx : ./configure --prefix=/usr/local/nginx
6) make
7) make install
4、配置防火墙
1) vi /etc/sysconfig/iptables
2) 在22端口下方增加一条与上面一样的,端口为80的允许;
3) 重启防火墙 :service iptables restart
5、开启nginx
1)方法1: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2)方法2:cd /usr/local/nginx/sbin,然后执行:./nginx (建议这个方式)
6、检查是否启动并打开80端口
1)netstat -ant
7、停止
1)查询nginx主进程号 ps -ef | grep nginx
2)停止进程 kill -QUIT 主进程号
3)快速停止 kill -TERM 主进程号
4)强制停止 pkill -9 nginx
8、重启
1)/usr/local/nginx/sbin/nginx -s reload
9、测试
1)测试端口 netstat -Cna | grep 80
2)浏览器测试:http://ip:80 (端口号可以不加)
安装配置asterisk
1、首先安装编译必备组件
yum -y install gcc-c++ bison bison-devel ncurses ncurses-devel zlib zlib-devel openssl openssl-devel gnutls gnutls-devel libxml2 libxml2-devel sqlite sqlite-devel
2、下载Asterisk (官方文档) System Requirements - Asterisk Project - Asterisk Project Wiki
一般我源码下载到 /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz
下载后解压:
tar -zxvf asterisk-11-current.tar.gz
转到解压后的目录:cd asterisk-11.11.0 (视解压不同而改变)
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz
3、编译源码(到源码目录执行,编译后的文件在:/usr/local/asterisk)
./configura --prefix=/usr/local/asterisk
make clean
make all
时间会比较久……………………会看到下面的样子( 安装到这里软件会提示使用 make install 来安装 asterisk)
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
+-------------------------------------------+
make install // 安装 asterisk
------安装之后将看到下列信息-----------
+---- Asterisk Installation Complete -------+
+ +
+ YOU MUST READ THE SECURITY DOCUMENT +
+ +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample +
+ configuration files (overwriting any +
+ existing config files), run: +
+ +
+ make samples +
+ +
+----------------- or ------------------------------+
+ +
+ You can go ahead and install the asterisk +
+ program documentation now or later run: +
+ +
+ make progdocs +
+ +
+ **Note** This requires that you have +
+ doxygen installed on your local system +
+---------------------------------------------------+
make samples // 安装配置模板
4、 启动asterisk (在:asterisk/sbin目录) http://xingyunbaijunwei.blog.163.com/blog/static/765380672011883510182/
1.输入asterisk,回车 (若在目录则需要输入 ./asterisk start)
2.输入asterisk -r
5、asterisk配置文件
asterisk.conf //asterisk的主配置文件 一般情况下不需要去改动
sip.conf //sip协议主要配置文件
extensions.conf //拨号规则配置文件
真正的正确安装Asterisk
1、下载三个文件(/usr/local/src)
Asterisk
DAHDI
Libpri
2、解压三个文件
3、用预定义的脚本安装必备软件
cd /usr/local/src/asterisk-xxxx/contrib/scripts
./ install_prereq install 此步时间较长
之后安装经验发现sqlite好像没装,后面会提示,所以手动再安装一下。
yum install sqlite-devel
yum -y update
yum -y groupinstall "Development Tools"
4、安装
1)./configure --prefix=/usr/local/asterisk
2)make
3)make install (安装时自动会下载下方两个程序)
A:asterisk-core-sounds-en-gsm-1.4.25.tar.gz
B:asterisk-moh-opsound-wav-2.03.tar.gz
4)make sample
5)make config
6、验证安装结果
1)/etc/init.d/asterisk status
2)启动 /etc/init.d/asterisk start
----------------------------做快照-----------------
asterisk配置说明
1、SIP.conf配置
[general] ;中定义的是sip的全局变量
port = 5060 ;表示sip协议使用的端口号是5060
bindaddr = 0.0.0.0 ;表示服务器监听服务器定义的所有Ip地址
context = others ;指向/etc/asterisk/extensions.conf中对应的[others]节定义的内容。
[2000] ;节定义了一个2000的sip分机
type=friend ;值为:friend(可呼入呼出)/user(只能呼入)/peer(只能呼出)
context=my-phones ;指向extensions.conf中对应的[other]节定义的内容。表示此分机拨入时(Caller)按照[my-phones]中的定义来执行其动作。
secret=1234 ;密码
host=dynamic ;是此分机的IP地址是任意的
想要查看其所有设置,在asterisk的CLI界面下输入 sip show peer 2001
[others]
[my-phones]
exten => 2000,1,Dial(SIP/2000,20)
exten => 2000,2,VoiceMail(2000,u)
exten => 2001,1,Dial(SIP/2001,20)
exten => 2001,2,VoiceMail(2001,u)
exten => 2999,1,VoiceMailMain(${CALLERID(num)},s)
拨号方式(dialplan)的条目定义如下:
exten => Number,Priority,Application
当一个号码被呼叫,Asterisk首先检查其是否符合dialplan中的一个条目,如果找到,那个条目就会被执行,如果多于一个条目符合被叫号码,Asterisk会首先执行priority=1(优先级高)的条目。Application定义了Asterisk实际执行的动作,基于上面的条目,2001呼叫2000过程如下:
1、Asterisk在sip.conf中查找主机分机2000的context=my-phones,Asterisk使用此context,在extension.conf中查看其内容;
2、找到后,Asterisk执行其中符合被叫2000的条目,按照优先级决定执行的顺序。
3、首先执行priority=1的条目,Dial(sip/2000,20),Dial首先查找在Sip.conf中的2000条目,找到后向其振铃20秒。
4、如果2000在20秒内没有摘机,Dial()执行完成,其Priority会增加1
5、那么符合条目就跳到下一条,exten => 2000,2,VoiceMail(2000,u),VoiceMail()中的2000是邮箱号码,其定义在voicemail.conf中,“u”表示使用标准的"unavailable"语音。
条目:exten => 2999,1,VoicMailMain(${CALLERID(num)},s) 其含义是用户拨打2999,将进入自已的邮箱听取语音。${CALLERID(num)}表示主叫号码,s表示不要求密码。
/etc/asterisk/voicemail.conf
[general] ;处设置全局变量
format = wav ;语音以wav格式保存
其它分机邮箱设置都应该放在[default]下。
分机后首先是语音邮箱密码,2000的密码是4711,密码后是邮箱主人的名称,然后是其邮箱地址。
3、用户会收到邮件通知,邮件中包含了留言语音附件。
默认情况下留言是放在/var/spool/asterisk/voicemail/default/102/inbox里,用户收听完毕后会移到/var/spool/asterisk/voicemail/default/102/old下面。
Nginx PHP Mysql
Nginx 下载地址: nginx: download
放到C盘或其它盘,配置文件:conf\nginx.conf;
用命令窗口:start nginx
直接访问: http://localhost ok
可能出现问题:若本机运行有IIS,且为80时则无法启动,关闭IIS即可。
PHP 安装包下载地址: PHP: Downloads
MySQL 下载地址: MySQL :: Download MySQL Community Server
理工男(作者)自己的公众号:
一个理工男的成长之路,如果你是理工男,带你“不正经”;如果你想了解理工男,带你认识理工男,他们是生活百事通,他们的生活简约而不简单。
不正经的原则:合规合法,信息保真能看懂,字越少事越大,学到真东西享受真实惠,有兴趣加入我一起“不正经”。
