这个程序最大的特点应该就是支持ActivityPub了,其他还有很多地方需要完善。
想搭建一个玩玩的话,建议VPS内存2G。下面是在Debian10的安装步骤。
首先安装nginx/mariadb/redis/以及一些常用软件和程序需要用到的图像处理工具:
apt -y install nginx python-certbot-nginx mariadb-server redis-server curl git unzip imagemagick jpegoptim optipng pngquant
安装PHP7.3(必须7.3):
apt -y install php7.3-common php7.3-cli php7.3-fpm php7.3-mysql php7.3-gd php7.3-bcmath php7.3-curl php7.3-intl php7.3-mbstring php7.3-xml
安装composer:
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/bin/composer
因为这个程序特别吃内存,这里把PHP-FPM的进程调少点,让其能勉强在1G的VPS内运行:
nano /etc/php/7.3/fpm/pool.d/www.conf
修改的部分:
pm = dynamic pm.max_children = 120 pm.start_servers = 2 pm.min_spare_servers = 4 pm.max_spare_servers = 6 pm.max_requests = 200 # 解决内存泄漏问题
调整php.ini:
nano /etc/php/7.3/fpm/php.ini
主要修改下面的参数:
post_max_size = 50M upload_max_filesize = 50M max_file_uploads = 100 max_execution_time = 600
重启PHP-FPM:
systemctl restart php7.3-fpm.service
初始化MySQL:
mysql_secure_installation
登录到MySQL内:
mysql -u root -p
创建数据库/用户/授权:
CREATE DATABASE pixelfed CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'pixelfed'@'127.0.0.1' IDENTIFIED BY '设置你的数据库用户密码'; GRANT ALL PRIVILEGES ON pixelfed.* TO 'pixelfed'@'127.0.0.1'; FLUSH PRIVILEGES; quit
拉取项目文件/给予正确的权限:
cd /var/www git clone -b dev https://github.com/pixelfed/pixelfed.git pixelfed && cd pixelfed chown -R www-data:www-data . find . -type d -exec chmod 755 {} ; find . -type f -exec chmod 644 {} ;
安装依赖:
composer install --no-dev --optimize-autoloader
复制一份配置文件并编辑:
cp .env.example .env nano .env
主要需要修改的部分:
APP_URL=https://photo.koko.cat APP_DOMAIN="photo.koko.cat" ADMIN_DOMAIN="photo.koko.cat" SESSION_DOMAIN="photo.koko.cat"
配置MySQL连接信息:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=pixelfed DB_USERNAME=pixelfed DB_PASSWORD=你的数据库用户密码
因为我没配置SMTP,所以把强制验证新用户邮箱的功能关掉:
ENFORCE_EMAIL_VERIFICATION=false
开启ActivityPub:
ACTIVITY_PUB=true REMOTE_FOLLOW=true ACTIVITYPUB_INBOX=true ACTIVITYPUB_SHAREDINBOX=true
修改好配置之后,依次执行下面的命令:
php artisan key:generate php artisan config:cache php artisan storage:link php artisan migrate --force php artisan route:cache
接着新建一个systemd服务文件:
nano /etc/systemd/system/pixelfed.service
写入:
[Unit] Description=Pixelfed task queueing via Laravel Horizon After=network.target [Service] Type=simple ExecStart=/usr/bin/php /var/www/pixelfed/artisan horizon User=www-data Restart=on-failure [Install] WantedBy=multi-user.target
启动Laravel Horizon:
systemctl start pixelfed systemctl enable pixelfed
新建一个Nginx站点配置文件:
nano /etc/nginx/conf.d/pixelfed.conf
写入:
server { listen 80; server_name photo.koko.cat; index index.html index.htm index.php; root /var/www/pixelfed/public; client_max_body_size 50m; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
签发SSL证书:
certbot --nginx --agree-tos --no-eff-email
之后打开你的域名应该可以看到这个程序的主页:
注册一个账号,注意这里有个天坑,我之前注册的时候一直都填写的QQ邮箱,但是TMLGB就是注册不了,排错了半天就是找不到问题出在哪里,后来TM灵光一闪,想到不会是这个程序限制某些后缀的邮箱注册吧?结果我换成其他邮箱直接注册成功,我也是佛了。。
注册成功之后回到终端,执行下面的命令把你自己的账号提升为管理员:
php artisan user:admin imlala
我简单测试了一下使用,上传图片,还有个调色的功能:
图片页面可以提交评论等:
然后是ActivityPub,我在Mastodon实例内可以搜索到Pixelfed的用户:
LALA
我什么都不卖了,告辞!
最新评论
5211314
能不能教我 一点不会