升级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

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

本博客现在已经运行在PHP7上了

最近这一段时间都在折腾PHP7,组合是最新的Nginx1.9.9+MariaDB10.1.10+PHP7.0.2,成果:

1、Windows下做了一个WNMP一键包:Nginx+MariaDB+PHP,下载地址:http://pan.baidu.com/s/1o87t90m

2、分别在Debian Jessie(Debian8)和CentOS7下成功编译了Nginx+MariaDB+PHP环境,树莓派版下载地址:http://pan.baidu.com/s/1dEuTU9r

3、博客的VPS也全面换成了编译安装的上述组合,感觉打开页面是不是快了些?

有时间把过程写一写,中间遇到了若干问题,好在都一一解决了。

Gentoo+kde5共享网络设置

需求:

1、电脑连接有线网络,把无线网络共享给手机或其他电脑(这个需求最常见);

2、电脑连接无线网络,用网线共享网络给其他电脑上网(这几天玩树莓派产生的需求);

3、电脑连接无线网络,再把无线网络共享给手机或其他电脑(不要想了,这个还没琢磨出来)

前两个需求,在Gentoo+kde5环境下实现非常简单,按以下三步操作即可:

1、添加use,安装软件:

echo "net-wireless/wpa_supplicant ap p2p" >> /etc/portage/package.use/wpa_supplicant
echo "net-misc/networkmanager connection-sharing" >> /etc/portage/package.use/networkmanager
emerge -av networkmanager wpa_supplicant

加上use后,会自动安装依赖:dnsmasq和iptables。

2、设置系统转发,修改/etc/sysctl.conf:

net.ipv4.ip_forward = 1

3、“连接编辑器”中添加共享连接:

需求1,添加无线共享:①WiFi->模式->接入点;②IPv4->方法->与其他计算机共享;③密码和SSID等项目自行添写。

需求2,添加有线共享:①IPv4->方法->与其他计算机共享;②其他项目自己看着添写。

对了,还有一点非常重要,内核中添加相应iptables转发的模块!这是我的config文件(下载,64位联想昭阳E4430,支持蓝牙、读卡器、无线网卡等),仅供参考。

Gentoo安装php7

昨天php7正式发布了,今天发现Gentoo官方源里面已经有了php7的ebuild,于是安装尝试一下。安装过程如下:
1、解除php7的mask状态:

echo "dev-lang/php" >> /etc/portage/package.unmask

2、添加全局use:

echo 'PHP_TARGETS="php7-0"' >> /etc/portage/make.conf

3、编译安装:

emerge php

4、设置php版本为7

eselect php set fpm 2

5、现在是php7与php5共存,有两个命令还是指向php5的,改成php7

rm /usr/bin/phpize
ln -s /usr/lib64/php7.0/bin/phpize /usr/bin/phpize
rm /usr/bin/php-config
ln -s /usr/lib64/php7.0/bin/php-config /usr/bin/php-config

6、启动php

systemctl start php-fpm@7.0.service

发现有出错信息,查看一下,原来是默认日志路径有问题(估计Gentoo官方很快会修复),改一下:

/etc/php/fpm-php7.0/php-fpm.conf

中的

;error_log = log/php-fpm.log

去掉前面的;,并且改成

error_log = /var/log/php-fpm.log

7、再次启动,成功!

树莓派安装LNMP(DietPi)

最近拿到朋友的一个树莓派,因为自己用的就是linux桌面环境,再用它装桌面环境没什么意思,打算做一个精简的web server。

操作系统如果选择Raspbian,除了Wheezy(Debian7)版本,已经有了Jessie(Debian8)版本,Jessie最近还出了一个light版,也就是精简版本的,不带桌面环境。

另一个选择就是DietPi,在Raspbian基础上精简的,也相当不错。

都试了试,感觉还是后者更精简一些,后者是Raspbian light版所占空间的一半,大概600多M,才300来个包,而前者则有400多个包。

下面简单说一下在Linux下安装配置DietPi(Jessie)的过程:

1、DietPi下载地址:http://fuzon.co.uk/phpbb/viewtopic.php?f=8&t=9

下载之后,解压,dd刻录到tf卡上:

dd if=DietPi_v94_RPi-\(Jessie\).img of=/dev/mmcblk0

2、如果用dhcp方式,把卡插上就可以启动了,不过,由于默认是dhcp,想连接的话,还需要想办法获取其ip来ssh连接,因此,建议配置成静态ip,配置方法:

在linux下,修改tf卡上的文件:

vi /run/media/linux/1263ae8d-aaf3-41b6-9ac0-03e7fecb5d6a/etc/network/interfaces

将其中的

# Ethernet
#auto eth0
iface eth0 inet dhcp
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1

改为:

# Ethernet
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1

无线网卡的(前提是无线网卡已经驱动起来,且有无线网络可用):

# Ethernet
auto wlan0
iface wlan0 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1
wpa-ssid mywifi
wpa-psk mypassword

如果想修改源,则修改下面文件:

vi /run/media/linux/1263ae8d-aaf3-41b6-9ac0-03e7fecb5d6a/etc/apt/sources.list

这个版本的DietPi还有wheezy的源,删掉:

rm /run/media/linux/1263ae8d-aaf3-41b6-9ac0-03e7fecb5d6a/etc/apt/sources.list.d/*

3、配置好上面东西之后,插上tf卡,启动系统。

为了省事,我一般会先设置密钥登录:

ssh-copy-id root@raspberry IP

密码为dietpi,然后:

ssh root@raspberry IP

ssh连接之后,系统会自动升级,让他自动升级,会有一系列的配置,根据自己要求修改。另外,也可以自己调用dietpi-*一系列命令来进行配置或升级等。

下面是我根据自己习惯进行的一些配置:

(1)系统默认ssh server为非常轻量的dropbear,但它不支持客户端scp上传,干掉它,安装openssh-server。

apt-get install openssh-server
apt-get purge dropbear

(2)系统默认编辑器为nano,干掉它,装vim。

apt-get install vim
apt-get purge nano

(3)系统升级

apt-get update;apt-get upgrade -y

4、安装nginx、php、mariadb:

apt-get install nginx-light php5-fpm php5-mysql mariadb-server

安装过程中需要设置mariadb的root密码。安装完成之后,这几个服务会自动启动,并添加开机启动,这也是deb系发行版的一个特色吧。

另外,由于没有ipv6地址,nginx启动会出错。

解决办法就是将/etc/nginx/sites-enabled/default中的listen 80 default_server;下面一行监听ipv6的代码删掉。

具体配置nginx/php-fpm的方法见其他文章,这里就不再写了。

最后写个phpinfo测试一下就好了。

最后:看一下安装的软件包数量及占用空间情况:

root@DietPi:/etc/nginx# dpkg --get-selections|wc -l
316
root@DietPi:/etc/nginx# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/root       7.2G  911M  6.3G   13% /
devtmpfs        483M     0  483M    0% /dev
tmpfs           487M     0  487M    0% /dev/shm
tmpfs           487M  6.5M  481M    2% /run
tmpfs           5.0M     0  5.0M    0% /run/lock
tmpfs           487M     0  487M    0% /sys/fs/cgroup
tmpfs            10M  956K  9.1M   10% /DietPi
tmpfs            20M   24K   20M    1% /var/log
tmpfs           487M     0  487M    0% /tmp
/dev/mmcblk0p1   56M   21M   36M   37% /boot
tmpfs            98M     0   98M    0% /run/user/0

当然,如果没有无线网卡,也不连接ntfs的存储设备,还有一些包可以删掉:

apt-get purge firmware* wireless* ntfs

阿里云增加swap文件

昨天拿到一台阿里云的vps,用来建网站,欣喜的发现,阿里云已经支持gentoo了,二话不说,肯定要选这个了。

到手后,先要升级,结果老卡在gcc上,也没分析具体原因,gcc过不了,那就先安装网站吧,结果又卡在cmake这个包上。后来想到可能是内存太小的原因,因为阿里云没有swap分区,而服务器选择的又是最小的512M内存,最便宜嘛!

网上搜索了一下,找到了建立swap文件来解决此问题的办法。

fallocate -l 1024M /swapfile
mkswap /swapfile
swapon /swapfile

添加开机启动挂载swap文件,将下列代码加到/etc/fstab文件中:

/swapfile none swap defaults 0 0

archlinux安装nginx+mariadb+php-fpm

gentoo某次升级之后,残废了,于是转战到arch中,安装了kde5,配置了web开发环境。

arch中安装kde5是相当简单的,一条命令足够了:

pacman -S plasma sddm

好进入正题,arch中安装nginx+mariadb+php-fpm也是相当简单,不过配置起来和别的不太一样,费了点时间。

1、安装基本组件:

pacman -S nginx php-fpm mariadb php-gd

2、配置maridb,安装数据库及设置密码等:

参考:https://wiki.archlinux.org/index.php/MySQL

mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
systemctl start mysqld
mysql_secure_installation
systemctl restart mysqld

3、配置nginx,修改配置文件,主要是改成以下内容

        location / {
            root   /data/web;
            index  index.php index.html index.htm;
        }
......
        location ~ \.php$ {
            fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /data/web$fastcgi_script_name;
            include        fastcgi_params;
        }

按照红色字体修改即可。

4、启动及开机启动

systemctl start nginx
systemctl start php-fpm
systemctl enable nginx
systemctl enable mysqld
systemctl enable php-fpm

写个phpinfo测试一下就行了。

Gentoo中安装kvm(qemu)

kvm是Kernel-based Virtual Machine的简称,是一个开源的、基于硬件的完全虚拟化技术,需要硬件支持。

官方网站:http://www.linux-kvm.org/

qemu是一个通用的、开源的模拟器。一般所说的kvm,即指这两者的组合。

官方网站:http://wiki.qemu.org/

去年在Gentoo中安装过一次,感觉用kvm来虚拟桌面环境,效率不高,当然,用来虚拟不带桌面的服务器系统是相当强悍的。

这次是gentoo中文社区一好友极力鼓动我安装的,说现在kvm虚拟windows桌面环境相当不错,性能很好,另外,还有redhat支持的virt-manager图形界面管理工具,功能也足够强大了。

不过他是在fedora22中安装的,安装非常简单。于是,我也就在fedora中安装了一下,感觉确实不错。于是尝试在Gentoo中安装,现在学习东西感觉有些费劲,中间遇到若干问题,有些解决起来费了一番功夫。

安装参考:https://wiki.gentoo.org/wiki/QEMU

1、配置内核,按照上面wiki中要求去配置就行,这里就不再一一说明。但需要注意的是,开启nat转发还要配置相应参数,上述教程中没有说明。具体情况可加本人qq交流,因为光内核配置就折腾了一晚上,实在记不清楚了。

2、需要配置的use(我是kde5桌面~amd64版,全局use有-iptables -ipv6,以下包及use仅供参考):

net-misc/spice-gtk gtk3 python usbredir
net-libs/gtk-vnc python
app-emulation/libvirt-glib python
app-emulation/libvirt virt-network
net-firewall/iptables ipv6
net-dns/dnsmasq script
app-emulation/qemu spice usbredir bluetooth
x11-drivers/xf86-video-qxl xspice

3、安装软件

emerge -av virt-manager xf86-video-qxl

配置开机启动(systemd):

systemctl enable libvirtd

添加用户到qemu及kvm组:

gpasswd -a linuxuser qemu;gpasswd -a linuxuser kvm

4、创建虚拟机及主机上配置

建议使用集成了virtio驱动的iso文件来安装,不过,其他iso也可以,但安装过程缓慢。

新建虚拟机要想要更好的性能:

虚拟硬盘和网卡选择virtio模式;

显卡选择spice协议;

声卡选择ac97,默认的型号找不到驱动;

添加硬件->Input->EvTouch USB图形表格,来实现鼠标在主机和虚拟机之间切换(不然虚拟机捕获鼠标后,需要按Ctrl+Alt+L来返回主机)。

5、虚拟机安装硬件驱动:

在这里下载驱动:https://fedoraproject.org/wiki/Windows_Virtio_Drivers#Direct_download

比如windows虚拟机,选择里面的Stable virtio-win iso,下载之后,挂载到虚拟机光驱上,就可以安装了。怎么装?别告诉我你不会安装!

另外,想要支持共享剪贴板,需要在虚拟机中安装软件:

下载地址:http://www.spice-space.org/download.html

如:Windows guest tools,虚拟机下载http://www.spice-space.org/download/windows/spice-guest-tools/spice-guest-tools-0.100.exe,安装即可。

6、其他

kvm的网络配置稍显复杂,默认用nat转发即可上网。至于桥接,比较复杂,有时间再去研究吧。

virt-manager启动必须是root权限,因此每次运行都需要输入密码。

kvm可以直接使用virtualbox创建的虚拟机,而且再用virtualbox打开没任何问题。

 

用了几天了,感觉kvm和virtualbox相比,各有优劣。kvm的优势是硬盘采用virtio模式,性能要好,不仅仅在服务器系统方面,而且现在的桌面性能也不错了。从日常使用来说,kvm最大的问题一个是分辨率是固定的,不能随虚拟机窗口大小调整,二是与主机共享文件不方便,多数是建议主机安装samba来共享。

Gentoo安装kde5

​kde5出来已经很长一段时间了,虽然没有达到完全可用的程度,但从目前个人使用来看,日常使用也基本差不多了。下面把个人安装使用的一些方法做一说明,仅供参考。

参考:https://wiki.gentoo.org/wiki/KDE/Overlay

1、添加kde的overlay:

layman -a kde
echo -e "-qt5" >> /etc/portage/profile/use.stable.mask

或者在/etc/portage/make.conf的USE中添加qt5。

2、解除kde5的mask

方法一:按官方wiki中的方法做软链接:

cd /etc/portage/package.accept_keywords
ln -s /var/lib/layman/kde/Documentation/package.accept_keywords/kde-frameworks-5.9.keywords
ln -s /var/lib/layman/kde/Documentation/package.accept_keywords/kde-plasma-5.2.keywords

方法二:来个简单粗暴的方式(不建议):

rm /var/lib/layman/kde/profiles/package.mask/frameworks*
rm /var/lib/layman/kde/profiles/package.mask/plasma*

方法三:将mask掉的包加到/etc/portage/package.unmask中(注:根据实际情况自行修改参数):

cat /var/lib/layman/kde/profiles/package.mask/plasma-5.3.0 >> /etc/portage/package.unmask
cat /var/lib/layman/kde/profiles/package.mask/kde-apps-15.04.0 >> /etc/portage/package.unmask
sed -i "s/\~//g;s/-15.04.0//g;s/-5.9.0//g;s/-5.3.0//g" /etc/portage/package.unmask

我用的是方法三。
3、安装frameworks和plasma

emerge @kde-frameworks @kde-plasma

这一步最麻烦,会遇到多个包block或者collisions,采用简单粗暴的方法即可,遇到哪个包有问题就干掉它。
还有一个问题是,gentoo开发者会在kde官方发布之前,提前把kde5的ebuild写出来,比如现在的plasma-5.3.0,这个得需要自己看具体情况去处理了。

4、kde5组件的安装

现在kde5下的应用移植还不完全,有些软件连测试版都没有,只好兼容kde4下的,比如以kde-apps-14.12.3这种形式的包出现。目前我使用的测试版本软件有(cat /etc/portage/package.keywords):

=kde-apps/dolphin-9999 **
=kde-apps/libkonq-5.9999 **
=kde-apps/kcalc-9999 **
=kde-apps/ksnapshot-5.9999 **
=kde-apps/okular-5.9999 **
=kde-apps/libkexiv2-5.9999 **
=kde-apps/kmix-5.9999 **
=kde-apps/ark-5.9999 **

其中kde-apps/libkonq包是dolphin添加右键菜单支持的包。
将包添加到package.keywords后,安装方式如下:

emerge -av =kde-apps/ark-5.9999

5、系统托盘图标问题

qt4程序在kde5下没有系统托盘,需要安装sni-qt这个包,比如qBittorrent等软件。

gtk程序及wineQQ需要安装wmsystemtray(需要自己安装font-misc-misc这个字体包)这个包来实现托盘,但无法放到系统托盘。

6、kde5不能用kdm来引导桌面环境,安装sddm,取代kdm。

emerge -av sddm

7、设置qt5为默认qt编译器

cd /etc/xdg/qtchooser/
rm default.conf
ln -s qt5.conf default.conf

8、输入法,fcitx需要安装gentoo-zh的overlay中的fcitx-qt5这个包:

emerge fcitx-qt5

目前还在继续折腾中。。。

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