RHEL6: Apache httpd安装与配置(SSL, Userdir, Auth, VirtualHost)

Apache httpd是应用最广的http服务器,它的基本安装配置也很简单。

--参考文档--

1. httpd配置文档 http://httpd.apache.org/docs/2.2/configuring.html
2. 文档路径 http://httpd.apache.org/docs/2.2/urlmapping.html
3. 认证授权 http://httpd.apache.org/docs/2.2/howto/auth.html
4. 虚拟主机 http://httpd.apache.org/docs/2.2/vhosts/
5. 访问控制 http://httpd.apache.org/docs/2.2/howto/access.html
6. 鸟哥私房菜 http://linux.vbird.org/linux_server/0360apache.php

--实验环境--

在虚拟机上搭建服务器,用物理机来访问;
1. 虚拟机和物理机均使用RHEL 6.5;
2. 虚拟机安装Apache HTTPD 2.2;
3. 虚拟机IP 192.168.122.108;
4. 物理机IP 192.168.122.1;

--安装--

RHEL6.5的镜像自带了Apache httpd,推荐使用它。

yum安装

[root@server1 ~]# yum install httpd -y

完事了。

设置iptables和SELinux

# vim /etc/sysconfig/iptables
-A INPUT -p TCP --dport 80 -j ACCEPT  # 在Reject的条目前加上这一行

# /etc/init.d/iptables restart
# setsebool -P httpd_can_network_connect=1

如果httpd的资料目录不是/var/www/html,那么需要修改该目录的selinux context.

chcon -reference  /var/www/html  /httpd

测试

无需修改配置,直接启动httpd,即可访问。

[root@server1 ~]# /etc/init.d/httpd restart

在物理机上,在浏览器上输入虚拟机的IP地址192.168.122.108,即可看到测试页面。

要更改网页的内容,直接修改DocumentRoot目录下(/var/www/html)的内容即可。
在/var/www/html/下建立一个index.html文件.

# vim /var/www/html/index.html
Hello World.

保存。
在物理机的浏览器上刷新一下页面,就能看到Hello World!字样啦。
继续阅读“RHEL6: Apache httpd安装与配置(SSL, Userdir, Auth, VirtualHost)”

8 - 中断:EXTI外部中断

EXTI外部中断可用来应付那些“出现时机不确定”的事件。比如说,按键,摄像头的行场中断,测速编码器的输入等。
例如,设定A1引脚上升沿能触发EXIT中断,A1连接一个按钮,按钮按下那瞬间,A1产生上升沿,触发中断,进行按钮事件的处理。

K60

同样,K60使用野火的底层库,参考《三天入门 Cortex-M4》EXTI 外部 GPIO 中断例程。

初始化

函数原型

void exti_init(PORTx, u8 n,exti_cfg);

调用例子

void
exti_init(PORTA,17,rising_down);//下拉,上升沿触发中断

继续阅读“8 - 中断:EXTI外部中断”

7 - 输入/输出:UART(串口)

UART是单片机与计算机通信的重要工具,可以外接蓝牙模块进行通信,也可以通过有线连接usb进行通信。
通过有线usb连接计算机时,单片机上只需连接TX,RX,GND,一般不需要连接VCC。
单片机的底层库一般都自带了UART通信模块,激活对应管脚,设定好波特率即可在程序中调用。
波特率决定数据的传输速率,波特率越高传输越快。一般为了稳定,传简单的数据用9600就够;传图像的话,最好用115200或以上,节省时间。

K60

K60用的是野火的底层库,可以参考它的手册;

输出

输出的话,定义好输出端口和波特率就能用。

uart_init (UART1,19200);   //初始化 串口 1 波特率为 19200
uart_putchar (UART1,'F');   //发送一个字符'F'
uart_sendStr (UART1,"uart_str 函数发送数据");  //发送字符串

开启Uart输入中断

// isr.h
// 串口输入中断服务
#undef VECTOR_061
#define VECTOR_061 UART0_IRQHandler
extern void UART0_IRQHandler(void);
// main.c
// main() 函数内
//打开串口中断
UART_IRQ_EN(UART0);

继续阅读“7 - 输入/输出:UART(串口)”

马尼拉中转计划

既然要回家,就找个地方中转一下吧。
我是个不诚实的孩子,这次的马尼拉中转计划出发前只告诉了舍友,母亲大人不知道。

交通

北京 -> 马尼拉, 宿雾航空,4.5小时,含税535元;
马尼拉 -> 澳门, 亚洲航空,2小时,机票115元+机场税75元+餐食23元=213元;
总计748元。

北京->马尼拉

宿雾在首都机场T2。
过安检,不让我进,之后我意识到,我走到国内出发那儿了....
拿着网上打印的登机牌到国际出发,出入境又表示,自己打印的不能用,要去柜台重新印一遍。幸好宿雾那柜台就寥寥几个人排着队。
Broading Pass

每次都能遇见212登机口。
Gate 212

宿雾航空是屌丝界的佼佼者,航空界的硬座。
可能受我国外交部旅行警示的影响,上座率大概只有50%。
在爬升的过程中,有不少乘客各种走动和挪行李,真揪心啊。他们这么拼只为占一排空座躺着睡!

睡梦中,抵达了马尼拉。
Manila Airport
继续阅读“马尼拉中转计划”

RHEL6: 网卡bonding

通过bonding,可以将两块或多块网卡当作一块网卡使用,可用于提高性能或是冗余。

参考文档

1. https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-networkscripts-interfaces-chan.html
2.

# yum install kernel-doc
# vim /usr/share/doc/kernel-doc-2.6.32/Documentation/networking/bonding.txt

继续阅读“RHEL6: 网卡bonding”

tigerVNC远程桌面控制

用VNC可以以桌面的方式,连接到远程电脑进行操作。
下面描述如何对VNC Server和VNC Client进行配置。
VNC Server即要远程连到的电脑。

VNC Server的配置

1. 安装tigervnc-server

# yum install tigervnc-server

2. 设置VNC密码

# vncpasswd

执行这条命令的用户就是vnc的用户名;
输入两次密码就设置成功了。

3. 修改vncviewer配置文件

# vim /etc/sysconfig/vncservers 

里面加上两行

VNCSERVERS="2:root"
VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp"

2是Display号,root是用户。

4. 开放防火墙5900-6000端口,重启vncserver

# /etc/init.d/vncserver restart

继续阅读“tigerVNC远程桌面控制”