Category: Unix/Linux

Ngrok 搭建指南

文章转载至 Luozm’s Blog

ngrok是一个反向代理,它能够让你本地的web服务或tcp服务通过公共的端口和外部建立一个安全的通道,使得外网可以访问本地的计算机服务。ngrok1.x开源,ngrok2.x不开源。

ngrok

Ngrok的主要用途有以下几种:

  • 内网穿透,可代替vpn
  • 将无外网IP的desktop映射到公网
  • 临时搭建网络并分配二级域名
  • 微信二次开发的本地调试

自己搭建ngrok服务需要一台外网服务器,一个域名(如果只用来内网穿透好像也可以不要?)。本文中使用的服务器系统为Ubuntu 16.04。

Read more

CentOS6.4 搭建 LNMP+Postfix+Dovecot+Postfixadmin+Roundcubemail 企业邮件环境

1.先下载安装软件包并搭建好 LNMP 环境(略)

2.编译安装postfix-2.9.3。
2.1创建postfix用户和组,且指定GID最好为大于1000的数值。
# groupadd -g 2525 postfix
# useradd -g postfix -u 2525 -s /sbin/nologin -M postfix
# groupadd -g 2526 postdrop
# useradd -g postdrop -u 2526 -s /sbin/nologin -M postdrop

2.2 编译安装postfix

Read more

使用 Nginx 解決 Google Analytics 无法统计大陆访问数据被墙的问题

由於眾所周之的原因,Google Analytics 在大陸地區總是「不太穩定」,且無其他可真正比肩者。故而需要通過海外服務器作為反向代理以解決此種問題。同時為統計結果之準確計,必須確保用戶IP等信息得以透明傳輸。

解決方案

nginx配置文件:

server {
listen 80;
listen 443 ssl spdy;
server_name analytics.hellomac.com.cn;
ssl_certificate /etc/letsencrypt/live/www.hellomac.com.cn/privkey.pem;
ssl_certificate_key /etc/letsencrypt/live/www.hellomac.com.cn/privkey.pem;
location /ga_proxy {
proxy_set_header X-real-ip $remote_addr;
rewrite ^/ga_proxy/(.*)$ /$1?$args&uip=$remote_addr;
proxy_pass http://www.google-analytics.com;
break;
}
location /analytics.js {
default_type text/html;
subs_filter_types text/css text/xml text/javascript;
subs_filter 'www.google-analytics.com' 'analytics.example.com/ga_proxy' g;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer https://www.google-analytics.com;
proxy_set_header Host www.google-analytics.com;
proxy_pass https://www.google-analytics.com;
proxy_set_header Accept-Encoding "";
}
}

Read more

Xbian 音频配置 ALSA PulseAudio Bluez A2DP

怀疑 Xbian 的 XBMC 是直接与硬件通信的,所以在 Xbian 系统里完全没有音频相关的配置,连最起码的ALSA都没有配置,简单说就是默认声卡驱动都没有加载。
步骤一:加载声卡驱动模块
sudo modprobe snd_bcm2835
然后用 aplay -l 和 -L 分别看一下是否有声卡了,如果有就说明加载成功。
测试一下是否发声
speaker-test -twav -c2
如果发声,就可以把模块写入到 /etc/modules 中了,第一步就完成了。

步骤二:扩展蓝牙音频。
参考:http://legendmohe.net/2014/06/20/pcduino-连接蓝牙音箱/

步骤三:扩展音频系统为 PulseAudio
sudo apt-get install pulseaudio pulseaudio-utils libfftw3-bin libfftw3-dev pavumeter pavucontrol paman paprefs pulseaudio-module-x11 gstreamer0.10-pulseaudio rtkit

然后进入桌面环境下去看看。

树莓派 WiFi 配置

首先安装 wpa_gui 工具包

sudo apt-get install wpagui

然后配置 wpa_supplicant 配置文件

sudo vim /etc/wpa_supplicant/wpa_supplicant.conf

内容如下:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1

然后配置 interface 文件:

sudo vim /etc/network/interface

修改wlan段配置内容内容如下:

auto wlan0
allow-hotplug wlan0 #让设备支持热插拔
iface wlan0 inet dhcp
pre-up wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
post-down killall -q wpa_supplicant

然后运去wpa_supplicant:

sudo wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf

用 wpa_cli 扫描网络,确定以上配置正确:

sudo wpa_cli scan_result

在扫描到的网络里找到你需要连接的那一个,将其信息添加到 wpa_supplicant.conf

sudo vim /etc/wpa_supplicant/wpa_supplicant.conf

将内容修改为:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1

network={
	ssid="你的 WIFI 名称"
	psk="你的 WIFI 密码
}

保存退出,重启网络

sudo /etc/init.d/networking restart

用 ifconfig 验证链接是否成功(看 wlan0 后面有没有被分配到 IP 地址)
如果不成功,再试试重启网卡:

sudo ifdown wlan0
sudo ifuo wlan0

树莓派做下载机,Aria2!

最近看了很多用树莓派或者openwrt路由器做下载机的。
但是看那些教程,小白肯定是不会弄了,所以我就做这个教程,应该接近小白了,一步一步。
首先树莓派的系统要装好。

首先安装aria2,apache2

sudo apt-get install aria2 apache2

装好之后设置好apache2的权限:

sudo visudo

底部添加这行:

www-data ALL=(ALL) NOPASSWD: ALL

Ctrl + O保存,Ctrl + X退出

然后在搞aria2的

mkdir ~/.aria2
touch ~/.aria2/aria2.session
nano ~/.aria2/aria2.conf

Read more

树莓派连接 L2TP VPN 教程、Raspberry/BIAN 连接 VPN

大中华局域网实在太蛋疼了,导致我想用小派上个 Google 都不得不翻墙,但是网上一搜大把是用述莓派搭建 VPN 的教程,却没有树莓派如何连接 VPN 的教程,研究半天,各种 GUI 工具更本不好使,最直接的方法还是命令行配置,又轻量,又有效率。
一、安装必要软件 xl2tpd,这个软件即可以作为 L2TP 的服务端,又可以作为客户端,好软件啊。。。

sudo apt-get install xl2tpd

二、配置 xl2tpd
配置xl2tpd,需要修改它的配置文件,如下所示:
命令 sudo vim /etc/xl2tpd/xl2tpd.conf
修改内容为:

[global]
port = 1701
access control = no

[lac HelloMac] ;HelloMac 是你的服务名称,自己设定一个,连接的时候需要用到,区分大小写
lns = vpn.hellomac.com.cn ;此处输入你的 VPN 服务器地址
redial = yes
redial timeout = 15
max redials = 5
require chap = yes ;使用使用chap质询握手认证协议
refuse pap = yes
require authentication = yes
name = name ;你的 VPN 用户名
pppoptfile = /etc/ppp/options.l2tpd.hellomac
ppp debug = no

接下来配置 ppoptfile,如下所示:

Read more

Unix/Linux 系统自动化管理之内存管理

Mac OS X是基于Unix底层的操作系统,内存管理机制于Unix相同,这篇文章有助于理解Unix内存管理方式

文章转载至:IBM DeveloperWorks 原文地址

内存是 Unix/Linux 内核所管理的最为重要的资源之一,内存管理是系统管理中非常重要也是最复杂的的部分。系统管理员需要掌握内存管理的基本工作原理以及使用合适的工具与策略监控内存的工作状态。 本文将分别阐述 AIX 和 Linux 系统中所涉及到的内存监控的方法,并对其中涉及到的内核内存管理的原理做初步的说明

AIX 内存管理与监控

内存管理概述

内存管理在不同的操作系统中会有不同的实现。AIX 系统使用 VMM(Virtual Memory Manager) 实现物理内存的管理,处理应用程序的内存分配请求与内存回收。

内存和交换空间一般都是通过页面来进行分配和管理,VMM 将所有的内存段划分为若干个页面,Power4 芯片支持 4K,64K,和 16M 大小的虚拟内存页, Power5 芯片支持 4K,64K,16M,16G 大小的虚拟内存页,每个页面的缺省大小是 4KB。虚拟内存页面越大,对需要大内存块的应用程序可以起到优化作用,主要是提高 TLB 的命中率。

当我们执行应用程序的时候,内存中的页面会被逐渐的占用,这里我们设计两个重要的参数: Minfree( 最小空闲页面的大小 ) 和 Maxfree( 最大空闲页面的大小 )。当空闲的内存达到 Minfree 大小的时候, VMM 的调页算法将被唤醒,将内存中的页面转移到交换空间中, 知道空闲内存达到 Maxfree,才停止调页。

上面主要是对 AIX 内存管理中所涉及到的的基本概念做了简单的介绍说明,对于任何与内存相关的操作,了解这些概念都是非常必要的。

系统管理员在进行正确的优化或者问题发生之前,必须首先监视系统,使用合适的工具捕获基准数据,并且知道如何进行分析工作。下面笔者将介绍 AIX 系统所提供的工具来监控系统内存的使用情况。

内存调整命令

与其他的子系统相比,内存调整更为困难,但同时收到的效果往往更加显著,特别是在那些尚未对各种内存参数进行优化的运行环境中。系统管理员可以通过 vmo 命令动态的调整内存参数,进行内存性能优化方面的各种实践。

Read more

一位清华计算机专业的学生怎么看Linux与Windows

文章系转载,因被转载太多,原文出处不详!只知道作者叫王银。

我已经半年没有使用 Windows 的方式工作了。Linux 高效的完成了我所有的工作。

GNU/Linux 不是每个人都想用的。如果你只需要处理一般的事务,打游戏,那么你不需要了解下面这些了。

我不是一个狂热的自由软件份子,虽然我很喜欢自由软件。这篇文章也不是用来推行自由软件运动的,虽然我觉得自由软件运动是非常好的。

这篇文章也不是用来比较 Linux 和 Windows 内核效率,文件系统,网络服务的。我现在是作为一个用户而不是一个开发者来说话的,我们的讨论是基于操作,应用层面的。是为了告诉大学里还不了解,或者不理解 UNIX 的科学工作者和大学生,UNIX 比 Windows 更适合用于科学研究工作,请大家理解 UNIX 的工作方式,不要用 Windows 的标准来要求 Linux,而要用一个科学工作者的标准来要求自己,用UNIX 的思想来武装自己。

我显然是反对在大学,特别是理工科专业推广 Windows 的。我也反对在对“娃娃”们的计算机启蒙教育中使用 Windows。因为 Windows 不论从技术上,经济上,思想风格上都是与我们培养高科技人才的目标格格不入的。Windows 的流行属于历史遗留问题,爷爷一级的人当然已经不可救药,但是我们不应该让下一代继续走上歧途。

Read more