跳转至

短网址应用YOURLS安装教程

配置LNMP环境

参考ubuntu手动安装LNMP环境

配置nginx

切换到nginx配置文件目录:/etc/nginx/sites-enabled/,新建短网址网站的配置文件:url.zimoapps.com.conf:

1
vi url.zimoapps.com.conf
将以下内容粘贴后保存退出:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
server {
    server_name url.zimoapps.com;
    root /var/www/url.zimoapps.com;
    listen 80;
    index index.html index.htm index.nginx-debian.html index.php;
    location / {
            try_files $uri $uri/ /yourls-loader.php$is_args$args;
    }
    location ~ \.php$ {
           include snippets/fastcgi-php.conf;
           fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
}
其中,url.zimoapps.com是域名, php7.2-fpm根据php的实际情况休息修改。
再切换到网站文件的存放目录:/var/www/,新建url.zimoapps.com目录用来存放短网址站点文件:
1
2
cd /var/www/
mkdir url.zimoapps.com
使用nginx -s reload重新载入配置文件,此时访问域名,应该打开网站了(应该是显示的是一个404的页面,因为还没放入任何文件)。
另外,建议配置Let's Encrypt的免费证书

配置了证书后的配置文件如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
server {
    server_name url.zimoapps.com;
    root /var/www/url.zimoapps.com;
    listen 80;
    index index.php index.html index.htm;
    return 301 https://$server_name:443$request_uri;
}
server {
    server_name url.zimoapps.com;
    root /var/www/url.zimoapps.com;
    listen 443 ssl http2;
    index index.php index.html index.htm;
    ssl_certificate /etc/letsencrypt/live/zimoapps.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/zimoapps.com/privkey.pem;
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        include fastcgi_params;
    }
}

配置数据库

yourls不会自动建立数据库,需要我们手动建立数据库。

1
mysql -sroot -p #以root用户登录mysql
输入密码后登录数据库,接着为yourls新建数据库:
1
2
create database urlzimoappscom; # zimoyourls数据库名称,根据自己喜好指定
quit; # 退出mysql
就我的实际来说,还需要修改数据库的排序规则,否则安装后报500错误,不能使用,建议一并修改。登录mysql后,执行以下命令,修改排序规则为utf8_general_ci:
1
ALTER DATABASE zimoyourls CHARACTER SET utf8 COLLATE utf8_general_ci;

准备yourls安装包及修改设置

本地下载安装包后上传,或者使用wget直接在服务器上下载yourls,最新版的下载地址为:https://github.com/YOURLS/YOURLS/releases。
将压缩包文件解压到/var/www/url.zimoapps.com

1
2
3
wget https://github.com/YOURLS/YOURLS/archive/1.7.9.zip
unzip 1.7.9.zip
cp -r YOURLS-1.7.9 /var/www/url.zimoapps.com
修改权限:
1
2
chown -R www-data:www-data /var/www/url.zimoapps.com
chmod -R 777 /var/www/url.zimoapps.com
切换到/var/www/url.zimoapps.com/user/,开始编辑配置文件
1
2
cp config-sample.php config.php # 复制一份示例配置文件作为新的配置文件
vi config.php # 编辑配置文件
配置文件中的各个配置项都有相应的说明:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
define( 'YOURLS_DB_USER', 'your db user name' ); # 登录数据库的用户名,root
define( 'YOURLS_DB_PASS', 'your db password' ); # 登录数据库的密码
define( 'YOURLS_DB_NAME', 'yourls' ); # 为yourls新建的数据库名称,zimoyourls
define( 'YOURLS_DB_HOST', 'localhost' ); # 数据库的地址,一般不用修改
define( 'YOURLS_DB_PREFIX', 'yourls_' ); # 数据库前缀,一个数据只供一个yourls程序使用不用修改,否则每个不一样
define( 'YOURLS_SITE', 'http://your-own-domain-here.com' ); # 我们的yourls程序的网址,注意区分https与http
define( 'YOURLS_HOURS_OFFSET', 0 ); # 时区, '+8'
define( 'YOURLS_LANG', '' ); # 显示的语言,默认为英语,可以修改,暂时不做变动
define( 'YOURLS_UNIQUE_URLS', true ); # 是否运行重复的短网址出现,true不允许
define( 'YOURLS_PRIVATE', true ); #是否公开,true需登录才能使用
define( 'YOURLS_COOKIEKEY', 'modify this text with something random' ); # 用作本地cookies加密,不需要记住,越复杂越好,官方的这个地址可以自动生成:http://yourls.org/cookie
$yourls_user_passwords = array(
    'username' => 'password',
); # 设置用户,一行一个用户,前面引号内是用户名,后面个是密码。 安装后,密码将自动被加密。
define( 'YOURLS_DEBUG', false ); # 调试模式,不需要修改
define( 'YOURLS_URL_CONVERT', 36 ); # 短链的转换模式,36全部小写,62大小写混合
$yourls_reserved_URL = array(
        'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
); # 关键词过滤
以上请根据实际情况修改后保存并退出。

浏览器访问url.zimoapps.com/admin会跳转到安装页面,点击INSTALL YOURLS按钮开始安装。接着打开url.zimoapps.com/admin输入账号密码开始使用。