github静态博客(github pages)创建及绑定域名

wordpress太臃肿了,感觉运行越来越慢,一直想迁移到github pages,这段时间研究了一下,很简单,记录一下过程。

1、创建github项目,如github.com/zhcj/zhcj.github.io,然后git clone到本地后,添加index页面,提交。

2、域名管理

我用的是dnspod,登录后,添加一个CNAME,我设置了一个二级域名,记录值填写为zhcj.github.io即可。

3、github项目根目录添加一个文件:CNAME,把添加的二级域名写上,一行就行。

4、github静态博客可以用Hexo(本地npm安装,需要nodejs环境),或者Jekyll(本地gem安装,需要ruby环境),根据自己的喜好选择一个吧。

完成!

试试:http://note.phpcj.org/

我的grub引导文件

[20161125更新]

弄了块ssd硬盘,装了若干系统,加上旧硬盘的系统,引导是个问题,安装os-prober后自动生成的引导文件太乱,索性自己写了一个。

前提:主系统Gentoo安装grub就行,其他不用。

1、/etc/grub.d/40_myos(本站下载

cat << EOF
menuentry 'Ubuntu 16.10 (16.10) (on /dev/mapper/linux-ubuntu)' {
        insmod lvm
        insmod ext2
        set root='lvm/linux-ubuntu'
        linux /boot/vmlinuz-4.8.0-27-generic root=/dev/mapper/linux-ubuntu ro quiet splash
        initrd /boot/initrd.img-4.8.0-27-generic
}
menuentry 'CentOS Linux release 7.2.1511 (Core)  (on /dev/mapper/linux-centos)' {
        insmod lvm
        insmod ext2
        set root='lvm/linux-centos'
        linux /boot/vmlinuz-3.10.0-327.36.3.el7.x86_64 root=/dev/mapper/linux-centos ro recovery nomodeset
        initrd /boot/initramfs-3.10.0-327.36.3.el7.x86_64.img
}
menuentry 'CentOS Linux release 7.2.1511 (Core)  (on /dev/sdb1)' {
        insmod part_msdos
        insmod xfs
        set root='hd0,msdos1'
        linux /boot/vmlinuz-3.10.0-327.36.3.el7.x86_64 root=/dev/sdb1
        initrd /boot/initramfs-3.10.0-327.36.3.el7.x86_64.img
}
menuentry 'Windows 10 (loader) (on /dev/sda1)' {
        insmod part_msdos
        insmod ntfs
        set root='hd0,msdos2'
        chainloader +1
}
menuentry 'Windows 10 (loader) (on /dev/sdb2)' {
        insmod part_msdos
        insmod ntfs
        set root='hd1,msdos1'
        chainloader +1
}
menuentry "Ubuntu 16.10 Live" {
        set isofile="/os/ubuntu-16.10-desktop-amd64.iso"
        loopback loop (hd1,6)\$isofile
        linux   (loop)/casper/vmlinuz.efi locale=zh_CN.UTF-8 file=(loop)/preseed/ubuntu.seed boot=casper iso-scan/filename=\$isofile locale=zh_CN.UTF-8 quiet splash --
        initrd  (loop)/casper/initrd.lz
}
menuentry "Archlinux-2016.10.01-dual.iso" {
    set isofile="/os/archlinux-2016.10.01-dual.iso"
    loopback loop (hd1,6)\$isofile
    linux (loop)/arch/boot/i686/vmlinuz archisolabel=ARCH_201610 img_dev=/dev/sda6 img_loop=\$isofile
    initrd (loop)/arch/boot/i686/archiso.img
}
EOF

2、加上可执行权限

chmod +x /etc/grub.d/40_myos

3、更新

# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.8.5-gentoo
done

说明:

1、前面两个(ubuntu、centos7)是在ssh上lvm分区(sda8)上的两个系统,还打算装几个,共用1G的boot(sda7)分区添加insmod lvm后,可以不用单独挂载boot分区;

2、第三个centos7是旧硬盘(sdb1)上的;

3、第四、五是新(sda1)旧(sdb2)硬盘上分别安装的win10;

4、最后两个是ssd(sda6)上的iso文件,这个就随便加了,想加几个加几个。

CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake

编译mariadb时出现如下提示:

CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:179 (message):
/usr/bin/c++ doesn't support -std=c++11 or -std=c++0x, you need one that does.

说明编译mariadb时,tokuDB引擎需要支持c++11的编译器,如果确实想用tokuDB引擎,那就编译一个高版本的gcc。如果不需要tokuDB引擎,直接在编译参数中加上-DPLUGIN_TOKUDB=NO就行了。

[原创]Git版本控制系统安装使用简明手册(网站开发用)

一、Linux服务器端

1、创建git账号

mkdir -p /myweb/user
groupadd git
useradd git -g git -m -s /usr/bin/git-shell -b /myweb/user

2、安装git

yum install git

3、创建git空版本库

cd /myweb
git init --bare git

4、创建或迁移网站目录

git clone /myweb/git /myweb/www
cp /原代码目录/* /myweb/www/
cd /myweb/www
git add *
git commit -m "创建项目"
git push origin master

5、设置网站钩子(提交代码到git版本库后,自动拉取到网站目录)

cd /myweb/git/hooks
mv post-update.sample post-update
sed -i "s/exec/#exec/" post-update
echo "unset \$(git rev-parse --local-env-vars)" >> post-update
echo "cd /myweb/www" >> post-update
echo "git pull" >> post-update

6、修改git库及网站目录权限

chown git:git /myweb/git -R
chown git:git /myweb/www -R

7、创建登录密钥(也可以在Windows中用puttygen来创建)

ssh-keygen -C mygitserver -f mykey

出现提示后,如果需要密码,输入密码,如是不需要密码,回车即可,再次确认后,密钥对创建成功。其中当前目录下的mykey(你的私钥)文件请一定要妥善保管,千万不能留在服务器上,下载保存后从服务器中删除。公钥添加到服务器中。

mkdir /myweb/user/git/.ssh
mv mykey.pub /myweb/user/git/.ssh/authorized_keys
chown git:git /myweb/user/git/.ssh -R
chmod 700 /myweb/user/git/.ssh
chmod 600 /myweb/user/git/.ssh/authorized_keys

8、卸载或停用selinux(虽然不建议,但对于新手来说,selinux确实很令人困扰,卸载是最简单的办法)

yum remove selinux*

几个注意事项:

  • 以上操作中的git用户名、mykey文件名、myweb目录、/myweb/www网站目录等,均可根据自己习惯用其他名称。
  • 网站服务nginx/apache及php的运行用户,设置成git会更加方便,不会有权限问题(安全性要求高的网站不在此考虑)。
  • 如在服务器的网站目录/data/www下运行git pull/push命令,一定要在运行完命令之后,再次更改git库及网站目录权属,具体命令见上面步骤6。

二、Git客户端使用方法

1、安装git客户端

Windows系统下的图形客户端,建议用TortoiseGit,注意中文包需要单独下载。

2、将前面生成的私钥导入到客户端

  • Linux系统、Windows系统的Git Bash方式(命令行操作):
mkdir ~/.ssh
cp mykey ~/.ssh/id_rsa
  • Windows系统中TortoiseGit图形界面(两种密钥使用方法):

方式一:安装时默认选择的是putty方式的密钥,需要用安装TortoiseGit时带的puttygen工具,将mykey文件导入,再点击“Save private key”导出为ppk文件。使用TortoiseGit时,导入此密钥文件即可。

方式二:安装时手动选择OpenSSH方式的密钥,按上面Git Bash的方式导入mykey密钥即可在TortoiseGit中自动调用上述密钥。

3、从服务器克隆项目

  • Linux系统、Windows系统的Git Bash方式(命令行操作):
git clone ssh://git@服务器IP:端口号/myweb/git /本地路径
  • Windows系统中TortoiseGit图形界面:

在文件夹中右键:克隆,地址同上。

小常识:密钥

密钥登录是Linux服务器管理中常用的一种登录方式。密钥为一对,分公钥和私钥,公钥放在服务器上,私钥妥善保存在自己电脑中。类似于生活中的锁和钥匙,用自己的锁锁住的门,只有自己手里的钥匙才能打开。不用担心,计算机生成的密钥对不会有相同的情况,这种机率只存在于理论中。

不让smplayer保存播放记录

发现不让smplayer保存播放记录的一个方法:

打开smplayer的配置文件(~/.config/smplayer/smplayer.ini),将[history]段中默认的

recents\max_items=10

改成

recents\max_items=0

就行了。再打开smplayer,你会发现,在“打开”中,连播放记录的菜单都没有了。

mplayer/smplayer使用摄像头

最近gentoo中的vlc版本升级到2.2.4之后,始终编译不成功,于是想换回smplayer。

原来换成vlc是因为vlc默认就可以使用摄像头,不用安装摄像头软件。因此,使用了一段时间,感觉还不错,但有一个问题就是快进,必须用Alt/Shift/Ctrl键+箭头才行,不如smplayer直接用箭头控制简单。这也是想换回smplayer的一个原因。

重新安装smplayer之后,首先想到的是解决使用摄像头的问题。smplayer依赖的mplayer加上v4l的use之后,按照mplayer官方说法(下面命令),把v4l换成v4l2,始终无法成功。

mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://

后来搜索到一个说法,比这个简单,不用加那么多参数,经过测试,直接用以下命令就可以播放。

mplayer tv:// -tv driver=v4l2

既然mplayer可以播放了,那smplayer自然也就没问题,可以在smplayer中的URL或电视模式中使用此参数播放。

smbclient、mount共享目录及开机挂载共享目录

最近plasma5更新太频繁,许多功能虽然不断完善,越来越好用,但小问题也层出不穷。比如dolphin访问windows共享目录,时好时坏。

正常情况下,dolphin中输入:smb://192.168.1.1即可访问windows共享目录,但最近几次更新中,出现登录窗口,始终无法登录。

既然dolphin无法直接使用,于是想到可以终端访问共享目录或挂载共享目录来使用。搜索了一下,可以通过以下方法实现:

一、直接使用smbclient在终端访问共享目录(非root用户可用)

1、列目录:

mbclient -L 192.168.1.1 -U 用户名%密码

2、登录上去使用:

smbclient //192.168.1.1 -U 用户名%密码

这时,可以使用cd、get、put等来操作。

3、不登录,直接命令操作

smbclient -c "ls"  //192.168.1.1/共享目录  -U 用户名%密码

二、挂载共享目录(需要root操作),用dolphin访问

mount -t cifs -o username=用户名,password=密码 //192.168.1.1/共享 /home/linux/共享

可以将此命令写到脚本中,再写一个umount的脚本,有需要时挂载/卸载。我就使用的这种方法,非常灵活。

三、添加到/etc/fstab中(需要root操作),开机挂载

//192.168.1.1/共享 /home/linux/共享 cifs username=用户名,password=密码 0 0

根据自己情况,选择合适的方式来使用吧。

gentoo安装krita

Krita是Calligra Suite(原Koffice)套件之一,貌似现在有单飞的趋势^-^

最近发布了3.0版本,发布公告如下(又有新发现:Wordpress贴个链接,可以直接把原文引过来了):

Krita 3.0 Released

Gentoo unstale作为一个激进版本,自然很快跟进,果然没几天,官方源原来mask掉的2.9版本,更新到了3.0,另外,kde的overlay也更新了9999版本(git版)。

虽然可以使用Krita官方的AppImages来运行,但作为Gentooer,不编译的版本用着不爽,很方便,直接emerge就行了。

emerge -av krita

当然,我安装的是git版本的:3.1 Alpha。

echo "=media-gfx/krita-9999 **" >> /etc/portage/package.keywords;emerge krita

不过,有个问题,emerge安装的Krita没有中文化,查了半天kde的文档,也没找到如何解决(英语水平太差了)。

看到Krita的Windows版本有部分中文界面(中文化不完整),说明Linux下也应该可以,于是,把官方的AppImages下载下来,用官方工具解压出来,才知道kde的菜单中文化原则:直接把mo文件放到/usr/share/locale/zh_CN/LC_MESSAGES/目录就行了!

于是,把krita.appdata.mo和krita.mo这两个文件放到上述目录,点击“Settings”->“Switch Application Language”,把“Primary language”设置成“简体中文”,再重新打开Krita,看到的是这样的了:

Screenshot_20160609_061616

升级WordPress

WordPress一直提示升级,拖了很久了,今天抽空升级了。

现在是WordPress-4.5.2跑在Nginx-1.10.0 + MariaDB-10.1.14 + PHP-7.0.6组合的服务器上,全部是最新版本了。

直接在服务器上操作很简单:

1、下载新版本的WordPress,解压。

2、将旧版本中的文件和目录复制到新版中,主要是:wp-config.php文件和wp-content目录,cp到新目录即可,需要注意的是uploads目录的权限。

3、有需要升级的插件,重新从WordPress下载插件,解压后,放到插件目录。

4、网页打开http://博客地址/wp-admin/upgrade.php,升级数据库。

升级完成后,登录后台,可能还会有升级提示,比如:翻译更新。搜索了一下,用了个简单粗暴的方法:

define('DISALLOW_FILE_MODS',true);

添加到wp-config.php文件中即可。

来源:http://www.wpmee.com/disable-plugin-theme-updates-installation-wordpress/

gentoo设置单个软件编译的CFLAGS参数和patches

[20160510]最新:gcc-5.3编译wine已修复。

gentoo升级到gcc-5.3后,编译最新的wine,始终有问题(详见:https://bugs.gentoo.org/show_bug.cgi?id=574044)。

这是gcc-5.3的一个bug,一直没有修复,解决办法无非是给gcc或者wine打补丁,上述链接中也给出了这两种方案。

给wine打补丁,每次wine版本升级之后,需要重新打,比较麻烦,原来我一直这样做。

直接给gcc打补丁,也比较麻烦,后来有人给出了一个傻瓜式方案,简单的多了:

sudo mkdir -p /etc/portage/patches/sys-devel/gcc-5.3.0
curl https://574044.bugs.gentoo.org/attachment.cgi?id=428646 | sudo tee /etc/portage/patches/sys-devel/gcc-5.3.0/wine-fix.patch 
sudo emerge -1 gcc-5.3.0
sudo emerge -1u wine

这样,wine就可以直接安装了。

但是这样做还有一个问题,编译出来的wine,运行QQ的话,还是不行,打开后会直接崩溃。yuking说是编译参数CFLAGS的问题,不能用O2,必须用O0才行,有人遇到过这个问题。

因此,编译wine时,需要将CFLAGS修改为O0。每次编译时都去修改,也比较麻烦。后来搜索出了一个单独给软件设置参数的方法:

sudo mkdir /etc/portage/env
sudo echo "CFLAGS=\"-O0 -march=native -fomit-frame-pointer -pipe\"" > /etc/portage/env/wine
sudo echo "=app-emulation/wine-9999 wine" > /etc/portage/package.env
sudo emerge -1u wine

当然,上面有些参数根据你的实际情况填写。

第 1 页,共 49 页12345...102030...最旧 »