记录 Apline 安装 LAMP 栈,部署 Nextcloud 开源网盘。

sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
apk update
apk add openssh
service sshd start
rc-update add sshd

apk add apache2 apache2-ssl apache2-proxy apache-mod-fcgid apache2-http2 mariadb mariadb-client php83 php83-apache2 php83-pdo_mysql

apk add php83-common php83-ctype php83-curl php83-dom php83-fileinfo php83-gd php83-json php83-xml php83-mbstring php83-openssl php83-posix php83-session php83-simplexml php83-xmlreader php83-xmlwriter php83-zip php83-bz2 php83-intl php83-pecl-imagick php83-gmp php83-bcmath php83-pcntl php83-sodium php83-opcache php83-exif php83-sysvsem imagemagick-svg icu-data-full

rc-service mariadb setup
rc-service mariadb start
mysql_secure_installation

下载最新的 Nextcloud ,设置权限。

wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip -d /srv
chown -R apache:apache /srv/nextcloud

mysql -u root -p

替换 username 和 password 。

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
EXIT

上传 SSL 证书到 /etc/ssl/your.server.com 文件夹。 修改 your.server.com 。

cat > /etc/apache2/conf.d/nextcloud.conf <<EOF
<VirtualHost *:80>
   ServerName 10.10.10.188
   DocumentRoot /srv/nextcloud/

   <Directory /srv/nextcloud/>
     Require all granted
     AllowOverride All
     Options FollowSymLinks MultiViews

     <IfModule mod_dav.c>
       Dav off
     </IfModule>
   </Directory>
</VirtualHost>
EOF

sed -i 's@^#LoadModule rewrite_module modules/mod_rewrite\.so@LoadModule rewrite_module modules/mod_rewrite.so@' /etc/apache2/httpd.conf

启动服务并添加自启服务。

rc-service apache2 start

rc-update add apache2
rc-update add mariadb

优化

修改 /etc/php83/php.ini 。查找 memory_limit ,改为大于等于 512M 的值。
大文件上传

upload_max_filesize=16G
post_max_size=16G
max_input_time=3600
max_execution_time=3600

Windows 客户端修改 %APPDATA%\Nextcloud\nextcloud.cfg,[General] 下添加:

maxChunkSize=99999999

apk add php83-pecl-apcu

修改 Nextcloud 配置,设置 apcu。

vi /srv/nextcloud/config/config.php

添加一行。

'memcache.local' => '\OC\Memcache\APCu',

启用apcu,vi /etc/phpxx/php.ini
apc.enable_cli=1

apk add redis php83-pecl-redis
addgroup apache redis
rc-service redis start
rc-update add redis

修改 Nextcloud 配置,设置 Redis。

  'filelocking.enabled' => true,
  'memcache.locking' => '\OC\Memcache\Redis',
  'redis' => array(
       'host' => '/var/run/redis/redis.sock',
       'port' => 0,
       'timeout' => 0.0,
        ),

crontab -u apache -e

添加一行。

*/5 * * * * php83 --define apc.enable_cli=1 -f /srv/nextcloud/cron.php

修改 Nextcloud 配置。

'maintenance_window_start' => 1,

重启 apache 生效。

service apache2 restart

配置电话国际区号。修改 Nextcloud 配置。

'default_phone_region' => 'CN',
配置php内存1024M /etc/phpxx/php.ini
memory_limit = 1024M

参考 https://ztengfun.com/alpine-%E5%AE%89%E8%A3%85-nextcloud/

❤️ 文章随意转载❤️