logo NodeSeekbeta

【教程】如何搭建一个短网址平台 — YOURLS

效果图:

缺点:

适合自用,只能在配置文件中手动添加管理员,无法在前端直接添加。

部署方法:

第一步:更新源并安装依赖

Ubuntu/Debian:

apt update -y && apt upgrade -y
sudo apt install unzip -y  
sudo apt install git -y  

Centos:

sudo yum update -y && sudo yum upgrade -y
sudo yum install unzip -y
sudo yum install git -y

第二步:安装 Apache Web

Ubuntu/Debian:

sudo apt-get install apache2

Centos:

sudo yum install httpd -y

第三步:安装 MySQL

Ubuntu

sudo apt-get install mysql-server

Debian:

sudo apt-get install mariadb-server

Centos:

sudo yum install mysql-server -y
sudo systemctl start mysqld

第四步:安装PHP及所需拓展

Ubuntu/Debian:

sudo apt-get install php php-mysql libapache2-mod-php php-cli

Centos:

sudo yum install php php-mysql php-cli
sudo systemctl restart httpd

第五步:配置数据库

  1. 进入 MySQL
mysql -u root -p

输入密码为root密码
2. 创建数据库

CREATE DATABASE yourls;
  1. 创建用户并授权
CREATE USER 'yourls_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON yourls.* TO 'yourls_user'@'localhost';
  1. 重启并退出
FLUSH PRIVILEGES;
EXIT;

第六步:下载源代码并解压

wget https://github.com/YOURLS/YOURLS/archive/refs/tags/1.9.2.zip
unzip 1.9.2.zip

第七步:配置YOURLS

  1. 复制示例配置文件:
cp YOURLS-1.9.2/user/config-sample.php YOURLS-1.9.2/user/config.php
  1. 打开配置文件并进行修改:
nano YOURLS-1.9.2/user/config.php

对以下内容必须进行修改:

  1. 数据库用户名:
define( 'YOURLS_DB_USER', 'yourls_user' ); 
  1. 数据库密码:
define( 'YOURLS_DB_PASS', 'password' ); 
  1. 数据库名:
define( 'YOURLS_DB_NAME', 'yourls' );
  1. COOKIEKEY(在http://yourls.org/cookie中生成):
define( 'YOURLS_COOKIEKEY', 'modify this text with something random' ); 
  1. 管理员用户名及密码(若不进行修改管理员用户名即为username,密码即为password,可在此处添加多个用户进行管理):
$yourls_user_passwords = [
    'username' => 'password',
    // 'username2' => 'password2',
    // You can have one or more 'login'=>'password' lines
];
  1. 访问网址(记得将这个网址解析到主机IP):
define( 'YOURLS_SITE', 'http://example.com' );

对以下内容选择性进行修改:

  1. 是否允许公众使用(填true为不允许,false为允许):
define( 'YOURLS_PRIVATE', true );
  1. 是否允许多个短链接指向同一个长链接(举例,允许后访问a.com/1和a.com/2同时都会跳转b.com,可以分析每个短链接的数据,在多平台推广的时候很有用 )
define( 'YOURLS_UNIQUE_URLS', true );
  1. 是否更改语言(默认为英文,改为中文版本则填写'zh_CN',后续要进行进一步配置):
define( 'YOURLS_LANG', '' );
  1. 排除哪些敏感词汇(包含填写的敏感词的长地址不会被缩短):
$yourls_reserved_URL = [
    'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
];

第八步:安装语言包(未更改语言可直接跳过)

git clone https://github.com/ZvonimirSun/YOURLS-zh_CN.git && mv YOURLS-zh_CN/* /root/YOURLS-1.9.2/user/languages/ && rm -rf YOURLS-zh_CN

第九步:配置并重启 Apache

sudo mv /root/YOURLS-1.9.2/* /var/www/html/
sudo chown -R www-data:www-data /var/www/html/
sudo systemctl restart apache2

结语:

欢迎在评论区留下配置好的短链接,比比看能短到什么地步doge

123
  • @adonis142857
    在Debian11里运行第三步的sudo apt-get install mysql-server时报错了,提示Package 'mysql-server' has no installation candidate
    后来google,输入sudo apt-get install mariadb-server才安装上MySQL。

  • 好贴绑定

  • 好贴 xhj003

  • 绑定

  • 感谢楼主分享,来玩1panel也不错,有人写好应用方便一键跑起来

    截图

  • @yun #4
    ac01 我配置了好久,官方教程好简略

  • @adonis142857 #5

    用docker跑方便很多 xhj003

  • @yun #4 可惜就是更新不是很及时

  • xhj003

  • @yun #6
    还能用Docker,哇真不错,我找下源,晚点更新下Docker部署方法 xhj003

  • @ziuch #7

    官方的应用更新感觉是会慢一些,有的时候还是随着主程序更新才更新应用。

    有一定把握的可以把镜像改为latest之类的tag ,然后用watchtower更新。

    第三方应用库更新还挺勤快的

123

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有15591位seeker

🎉欢迎新用户🎉