分类目录归档:环境搭建

centos7下面安装tigervnc-server,客户端vncview

centos7下面安装vnc
centos7改动还是很大的,我们不用x11vnc,使用tigervnc-server包
原因是x11vnc听说性能差写,安全性高,tigervnc-server性能好,我的需求就是翻墙,所以用了tigervnc-server

centos方面配置:
yum groupinstall “GNOME Desktop” -y
yum install tigervnc-server -y

mv /etc/systemd/system/default.target /etc/systemd/system/default.target_backup
ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
#编辑vncserver@:1.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
ExecStart=/usr/sbin/runuser -l jjger -c “/usr/bin/vncserver %i”
PIDFile=/home/jjger/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’

[Install]
WantedBy=multi-user.target

useradd jjger
passwd jjger
vncpasswd jjger #设定vpc的密码
#启动:
systemctl daemon-reload
systemctl start vncserver@:1.service
systemctl status vncserver@:1.service

注意:使用以上命令启动vncserver会出错,启动不起来,把type更改为simple就额可以了
这样就不会出错了

客户端连接
apt-get install vncview -y
vncview启动
地址写:xxx.xxx.xxx.xxx:1

over!!!

vnc xauth: (stdin):1: bad display name ,域名解析问题

vnc xauth: (stdin):1: bad display name

1.[root@host144 ~]# /etc/init.d/vncserver restart
2. Shutting down VNC server: 1:root 2:oracle [ OK ]
3. Starting VNC server: 1:root xauth: (stdin):1: bad display name “host144:1” in “add” command
4.

5. New ‘host144:1 (root)’ desktop is host144:1
6.

7. Starting applications specified in /root/.vnc/xstartup
8. Log file is /root/.vnc/host144:1.log
9.

10. 2:oracle xauth: (stdin):1: bad display name “host144:2” in “add” command
11.

12. New ‘host144:2 (oracle)’ desktop is host144:2
13.

14. Starting applications specified in /home/oracle/.vnc/xstartup
15. Log file is /home/oracle/.vnc/host144:2.log
16.

17. [ OK ]
解决方法:

1.[root@host144 .vnc]# cat /etc/hosts
2. 127.0.0.1 host144 localhost.localdomain localhost
3. 10.0.127.144 host144

本人提供服务器技术维护服务,需要者联系

libxml2-2.6.23编译,make时错误

Gentoo上编译libxml2-2.6.23上出错,解决办法如下,gcc太新的问题

/usr/include/bits/fcntl2.h:51: 错误: 调用‘__open_missing_mode’,声明有错误属性:open with O_CREAT in second argument needs 3 arguments

网上查了一下,说是gcc-4.3对语法检查严格的结果,找到出错的那一句,在我编译的程序里是这句
int fd = open(fn.c_str(), O_WRONLY | O_CREAT | O_TRUNC);
将之改为
int fd = open(fn.c_str(), O_WRONLY | O_CREAT | O_TRUNC, 0777);
就OK了

nginx反向代理未备案网站时碰到的问题总结

关于未备案,通过nginx反向代理访问网站的问题
域名:www.hardwork.cn
idc提供:vhost1000.idc.com二级域名可以访问网站,其它任何端口,使用域名www.hardwork.cn无法访问到网站,均提示,未备案

解决:
1、nginx反向代理配置,容易
如proxy_pass http://vhost1000.idc.com即可

2、问题:页面中的连接全部变成了类似于:http://vhost1000.idc.com/img/logo.gif,虽然通过www.hardwork.cn能访问到页面
解决,使用nginx的sub_filter模块来替换页面上的vhost1000.idc.com二级域名为www.hardwork.cn
如下:
继续阅读

在64位的环境下编译32位的应用程序

在64位的环境下编译32位的应用程序
背景知识: http://www.divms.uiowa.edu/local/linux_help/rh_ws3_amd64_faq.html

我们的 64bit Debain 需要安装以下软件包

apt-get install ia32-libs libc6-dev-i386 linux32

1) 最关键的东西是需要告知gcc编译器编译的平台是 i386,CFLAGS 必须添加 -m32 参数. [关于gcc编译参数的官方文档]

2) 用 linux32 命令在configure改一下CHOST,设置一下编译环境

linux32 命令使用前后区别

staff-1:~/src/lame-3.96.1# ./configure
checking build system type… x86_64-unknown-linux-gnu
checking host system type… x86_64-unknown-linux-gnu

staff-1:~/src/lame-3.96.1# linux32 ./configure
checking build system type… i686-pc-linux-gnu
checking host system type… i686-pc-linux-gnu

3) 如果编译的程序是32位的,所需要的动态链接库也需重新编译,例如mplayer需要用到 mp3lame,jpeg-6b,libpng等,均需要重新编译.

4) 如何知道应用程序是64位还是32位的?可使用file命令查看.

staff-1:~# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, stripped

staff-1:~# file /usr/bin/mplayer
/usr/bin/mplayer: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, stripped

5) 一些编译前准备的实例,mplayer

linux32 ./configure –prefix=/usr –cc=”gcc -m32″ –target=”i386-linux”
make
make install

注意:-cc,–target 参数不一定每个 configure 程序都提供,需灵活变通,其本质是设置了一些环境变量,可用手动配置.

export CFLAGS=”-m32 -04 -march=i386 -mtune=i386″

6) 注意和原来的共享库冲突,尽量不要编译到 /usr 目录下,否则影响其它64位的程序正常运作就得不尝失了.

7) 能不能100%编译成功? 不一定,如果 makefile 使用了64位的linker例如ld等,去link你编译出来32位的so的话,那就会报告不兼容. Good luck!!

相关参考:
•How to build 32-bit Wine on a 64-bit (x86-64) system

以下是其它人的讨论

1) 最关键的东西是需要告知gcc编译器编译的平台是 i386,CFLAGS 必须添加 -m32 参数. [关于gcc编译参数的官方文档]

2) 用 linux32 命令在configure改一下CHOST,设置一下编译环境

linux32 命令使用前后区别

staff-1:~/src/lame-3.96.1# ./configure
checking build system type… x86_64-unknown-linux-gnu
checking host system type… x86_64-unknown-linux-gnu

staff-1:~/src/lame-3.96.1# linux32 ./configure
checking build system type… i686-pc-linux-gnu
checking host system type… i686-pc-linux-gnu

这段没看懂,
第2点怎么设置的能说具体点吗??谢谢。

答复:
linux32 是一个设置环境变量 CHOST 的命令.可用 export CHOST=”i686-pc-linux-gnu” 代替

我自己尝试编译libmm在64位服务器上通过,参数如下
./configure CC=”gcc -m32″

ntpd

  默认情况下,我们配置的NTP服务器不会去时间源那里同步时间,所以必须修改/etc/ntp/step-tickers文件,加入我们的时间源,这样每次通过/etc/init.d/ntpd 来启动服务的时候就会自动更新时间了

extmail的后期维护的一点问题

在安装了Extmail以后,进入Extman对邮件系统进行管理的时候,访问http://url/(extman)的时候却提示:
Can’t open /tmp/extman//sid_26da75f9aec35f2cbc6b4fa425ab525e, No such file or directory
此时只需要将/temp/extman的权限设置为777即可。
如果没有该目录,可手功创建该目录mkdir /tmp/extman,并将其权限设置为777
出现这个问题的原因好像是linux会定期清除/tmp/目录,导致extman丢失,
通过修改,/var/www/extsuite/extman/webmail.cf文件里面的配置

# sys_sess_dir, the session dir
SYS_SESS_DIR = /tmp/extman/
将SYS_SESS_DIR指定到了/data/extman下面。

  Extmail进后台不能正常显示系统的信息的解决办法

进入后台不显示目录信息提示”No such file or directory”
进入extman/daemon/cmdserver –daemon  运行启来就能显示了