编译安装环境部署Nextcloud私有云
以CentOS 7、MariaDB、PHP 7、Nginx为环境部署Nextcloud。
一、安装操作系统
首先安装操作系统,Nextcloud只支持Linux,由于个人习惯的原因,选择了CentOS 7,使用最小化安装(为了保证之后的步骤能在只有最小化安装的VPS上重现,也为了节约硬件资源)。
1、启用网卡
最小化的CentOS 7安装完毕后,默认是没有启用网卡的,在本地登录系统后,首先进入网络配置目录,列出目录中的网卡配置文件
cd /etc/sysconfig/network-scripts/
ll | grep ifcfg-
运行结果
[root@localhost network-scripts]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ll | grep ifcfg
-rw-r--r--. 1 root root 312 Aug 30 10:01 ifcfg-enp0s3
-rw-r--r--. 1 root root 254 Sep 12 2016 ifcfg-lo
除了ifcfg-lo以外的那个文件就是网卡配置文件,具体名称可能会有所不同。
然后使用vi编辑该文件,将最后一行“ONBOOT=no”改成“ONBOOT=yes”并保存退出。
通过命令重启网络服务,是配置生效
service network restart
如果不想通过DHCP动态获取IP地址,也可以在网络配置文件中添加以下配置项指定网络参数
IPADDR0=192.168.21.128 #设置IP地址
PREFIXO0=24 #设置子网掩码
GATEWAY0=192.168.21.2 #设置网关
DNS1=8.8.8.8 #设置主DNS
DNS2=8.8.4.4 #设置备DNS
网卡启用后,就可以通过SSH远程操作、通过yum方便的安装程序了。
查看ip地址,可以通过ip命令
ip addr
2、配置环境
通过yum安装依赖组件
yum -y install wget zip unzip
yum -y install gcc gcc-c++ cmake
yum -y install openssl openssl-devel gnutls gnutls-devel bison bison-devel zlib-devel libevent-devel curl-devel ncurses ncurses-devel perl perl-devel libxml2 libxml2-devel
yum -y install bzip2 bzip2-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel
yum -y install gd gd-devel libicu libicu-devel openldap openldap-devel libsmbclient libsmbclient-devel ImageMagick ImageMagick-devel recode recode-devel autoconf psmisc.x86_64 krb5-libs.x86_64 krb5-devel.x86_64
通过yum的额外源安装依赖组件
yum -y install epel-release
yum repolist
yum -y install libc-client libc-client-devel libmcrypt libmcrypt-devel jemalloc jemalloc-devel redis libtidy libtidy-devel
关闭SELinux,可先通过sestatus -v命令查看SELinux是否开启
/usr/sbin/sestatus -v
修改/etc/selinux/config,将’SELINUX=enforcing’改为’SELINUX=disabled’,重启系统即可生效,或者本次可以使用’setenforce 0’临时关闭。
二、安装MariaDB
首先下载并编译安装
wget https://downloads.mariadb.org/interstitial/mariadb-10.2.8/source/mariadb-10.2.8.tar.gz
tar -zxvf mariadb-10.2.8.tar.gz
cd mariadb-10.2.8
cmake .
make && make install
useradd mysql
chown -R mysql:mysql /usr/local/mysql/
mkdir /var/log/mariadb
chown -R mysql:mysql /var/log/mariadb
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
然后修改/etc/my.cnf,修改pid-file的值
pid-file=/var/lib/mysql/mysql.pid
接着将MariaDB设为系统服务,在/usr/lib/systemd/system/下创建一个名为mysql.service的脚本,内容如下
[Unit]
Description=MariaDB database server
After=network.target
[Service]
Type=simple
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe
TimeoutSec=300
PrivateTmp=true