FreeBSD下博客建立过程

康康终于又回来了,之前家中出了点事情,导致一直没能继续更新博客,以前的内容也随着VPS到期未续费一同消失了!
这次康康重新开始,一切重头再来吧!

服务器选用FreeBSD,如果以前关注过康康的朋友应该知道,康康很喜欢FeeBSD,这个系统功能强大,坚如磐石,稳定性极高!

本次服务器选用的是腾讯云的CVM,首先我的域名是备案过的,可以使用国内服务,其次腾讯云里我还有余额,可以购买,最后博客数据备份可以与腾讯COS无缝对接,走内网免流量超快速备份。

腾讯云CVM的创建这里就不说了,系统选择的是FreeBSD,不过腾讯只提供到10.1版本,目前官方已经不再维护,所以想装点软件都困难啊!

系统升级

刚才说了,腾讯提供的FreeBSD版本是10.1,而FreeBSD官方目前10版本最低都是10.3,这样就出现了一个问题,当康康使用pkg安装程序时报错,动态链接库出错了!

而且考虑到后期的维护成本与便捷,康康还是决定要把系统更新下,就更新到10版的最高版本10.4。

更换更新源

由于FreeBSD默认是官方自家的更新源,而国内的网络环境加上CVM购买时选的才1M的宽带,要想顺利更新到10.4还是较为麻烦的,故此,更换源是必须的了,这里康康选择的是国内玩家提供的第三方国内更新源:chinafreebsd

首先打开源配置文件

ee /etc/freebsd-update.conf

将官方更新源注释

#ServerName update.FreeBSD.org

在下方添加国内源

ServerName update1.chinafreebsd.cn

升级系统

在FreeBSD中同一大版本内可以直接更新到最高版本,不用一个版本一个版本的升级,如果要垮大版本,则要先升级到当前大版本内的最高小版本,所以这里可以直接一次性升级到10.4

freebsd-update upgrade -r 10.4-RELEASE

此时系统会开始下载更新数据,这个过程视网络、处理能力等情况而定,同时还会要求您确认一些东西,确认后开始安装更新

freebsd-update install

完成后会提示您重启系统,然后再次执行一遍安装更新操作,咱们按照提示来就行了,如果不放心的话,重启后可以多次执行安装操作,直到系统提示要求执行freebsd-update fetch为止

reboot
freebsd-update install

OK,到这里FreeBSD就已经顺利的更新到了10.4版本,接下来就可以对系统进行一些必要性的配置了!

更换软件源

由于FreeBSD官方目前已经将ports的源锁定,所谓的锁定就是更新目录变为可获取,但不能列目录,也就变相的让用户无法通过正常的手段做镜像源,这样在国内使用ports安装软件就变成了一种痛苦的过程,不过办法总是有的,康康用的chinafreebsd家还是把目录给拉出来了,架设了镜像源,为了方便管理,康康这里将所有源都更换为了chinafreebsd的

更换PKG源

创建存储仓库

mkdir -p /usr/local/etc/pkg/repos
cd /usr/local/etc/pkg/repos
ee 0.chinafreebsd.conf

内容输入

chinafreebsd: {
url: "pkg+http://pkg1.chinafreebsd.cn/${ABI}/quarterly",
mirror_type: "srv",
signature_type: "none",
fingerprints: "/usr/share/keys/pkg",
enabled: yes
}

禁用FreeBSD官方源并强制更新一次

echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
pkg update -f

更换portsnap源

安装Ports

portsnap fetch -s portsnap1.chinafreebsd.cn

打开源配置文件

ee /etc/portsnap.conf

将官方源注释掉

#SERVERNAME=portsnap.FreeBSD.org

在下方添加第三方源

SERVERNAME=portsnap1.chinafreebsd.cn

更新快照

portsnap fetch extract
portsnap update

更换ports源并改为axel下载

安装axel

pkg install axel

配置ports源及axel下载

ee /etc/make.conf

内容填入

FETCH_CMD=axel
FETCH_BEFORE_ARGS= -n 10 -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes
MASTER_SITE_OVERRIDE?=\
http://ports1.chinafreebsd.cn/distfiles/

系统优化

配置sysctl

ee /etc/sysctl.conf

内容为

net.inet.tcp.sendspace=65536
net.inet.tcp.recvspace=65536
net.inet.udp.maxdgram=65535
net.local.stream.sendspace=65535
net.inet.tcp.rfc1323=1
net.inet.tcp.rfc3042=1
net.inet.tcp.rfc3390=1
kern.ipc.maxsockbuf=2097152
kern.maxfiles=65536
kern.maxfilesperproc=32768
net.inet.tcp.delayed_ack=0
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.ip.redirect=0
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskrepl=0
net.inet.icmp.icmplim=100
net.inet.icmp.icmplim_output=0
net.inet.tcp.drop_synfin=1
net.inet.tcp.always_keepalive=1
net.inet.ip.intr_queue_maxlen=1000
net.inet.tcp.msl=7500
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
kern.ipc.somaxconn=32768
security.bsd.see_other_uids=0
kern.securelevel=2
net.inet.tcp.log_in_vain=1
net.inet.udp.log_in_vain=1
net.inet.udp.checksum=1
net.inet.tcp.syncookies=1
kern.ipc.shm_use_phys=1
kern.ipc.shmmax=67108864
kern.ipc.shmall=32768
kern.coredump=0
net.local.stream.recvspace=65536
net.local.dgram.maxdgram=16384
net.local.dgram.recvspace=65536
net.inet.tcp.mssdflt=1460
net.inet.raw.maxdgram=65536
net.inet.raw.recvspace=65536

配置rc.conf

ee /etc/rc.conf

内容填入

hostname="usebsd.com"
ifconfig_vtnet0="inet 1.2.3.4 netmask 255.255.225.0"
defaultrouter="1.2.3.4"
ipv6_network_interfaces="NONE"
ipv6_activate_all_interfaces="NO"
sshd_enable="YES"
dumpdev="NO"
inetd_enable="NO"
sendmail_enable="NONE"
fsck_y_enable="YES"
syslogd_enable="YES"
syslogd_flags="-s -s"
portmap_enable="NO"
kern_securelevel_enable="YES"
kern_securelevel="2"
clear_tmp_enable="YES"
update_motd="NO"
tcp_drop_synfin="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"
log_in_vain="YES"
accounting_enable="YES"

到这里系统的初始化已经完成,可能有朋友发现了,康康这次没有编译防火墙!

哈哈,因为康康没想要用防火墙了,直接用腾讯提供的安全组就行,也省得去编译内核!

搭建Web环境

博客既然是选用了Typecho,那就肯定要搭建相应的运行环境,也就是PHP + MySQL,FreeBSD对于Web环境的搭建还是很方便的,直接Ports一路回车就行

Nginx安装

选择想要安装的相应组件,一路回车就行,这里康康加了ssl组建,因为博客要使用https来访问

cd /usr/ports/www/nginx
make install clean
rehash

PHP安装

这里要记得选择FPM,否则Nginx是执行不了PHP的哦,同时建议选择mysqli,不要再使用老掉牙的mysql了

cd /usr/ports/lang/php70
make install clean
rehash

PHP扩展安装

这里就根据自己的需要进行选择吧

cd /usr/ports/lang/php70-extensions
make install clean
rehash

MariaDB安装

没特殊需要默认即可

cd /usr/ports/databases/mariadb100-server
make install clean
rehash

配置启动项

环境安装好了,但是还无法启动,因为没有添加到启动项中

sysrc nginx_enable="YES"
sysrc php_fpm_enable="YES"
sysrc mysql_enable="YES"

配置MariaDB

service mysql-server start
/usr/local/bin/mysql_secure_installation

这时会出现一些内容需要咱们确认,根据提示确认就行

配置PHP

按照自己需求更改php.ini内容

cd /usr/local/etc
cp php.ini-production php.ini

配置PHP-FPM

同样根据自己的需求进行配置

cp /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/www.conf.bak
ee /usr/local/etc/php-fpm.d/www.conf

配置nginx

还是根据自己的需求进行配置

cp /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/nginx.conf.bak
ee /usr/local/etc/nginx/nginx.conf

至此服务器环境已经全部配置完成,剩下的就是建立网站,安装网站了!

最后修改:2019 年 04 月 27 日 10 : 26 AM
如果觉得我的文章对你有用,请随意赞赏

发表评论