3 cfa30988 2022-08-12 mischa Single PHP URL Shorter
5 cfa30988 2022-08-12 mischa Database and table needed, build on MariaDB / MySQL:
7 cfa30988 2022-08-12 mischa CREATE DATABASE IF NOT EXISTS `shortr` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
8 cfa30988 2022-08-12 mischa USE `shortr`;
9 cfa30988 2022-08-12 mischa CREATE TABLE `urls` (
10 cfa30988 2022-08-12 mischa `id` varchar(255) NOT NULL,
11 cfa30988 2022-08-12 mischa `url` text DEFAULT NULL,
12 cfa30988 2022-08-12 mischa `timestamp` timestamp NOT NULL DEFAULT current_timestamp(),
13 cfa30988 2022-08-12 mischa `ip` varchar(255) DEFAULT NULL,
14 73c19571 2022-08-24 mischa `count` int(11) NOT NULL,
15 ae60eff1 2022-08-28 mischa PRIMARY KEY (`id`)
16 cfa30988 2022-08-12 mischa ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
19 cfa30988 2022-08-12 mischa Example OpenBSD httpd.conf
21 cfa30988 2022-08-12 mischa server "host.domain.tld" {
22 cfa30988 2022-08-12 mischa listen on $local_v4 port 80
23 cfa30988 2022-08-12 mischa tcp { nodelay, sack }
24 cfa30988 2022-08-12 mischa log style forwarded
25 cfa30988 2022-08-12 mischa root "/htdocs/host.domain.tld/shortr"
26 cfa30988 2022-08-12 mischa directory { index "index.php" }
27 cfa30988 2022-08-12 mischa location match "^/[%l%u%d]+$" {
28 cfa30988 2022-08-12 mischa request rewrite "/index.php?hash=%1"
30 cfa30988 2022-08-12 mischa location "/*.php*" {
31 cfa30988 2022-08-12 mischa fastcgi socket "/run/php-fpm.sock"
35 cfa30988 2022-08-12 mischa Configuration file needs to be renamed to conf.php
37 cfa30988 2022-08-12 mischa Configuration options:
39 ed72d845 2022-08-24 mischa define("HASH_LENGTH", 4);
40 cfa30988 2022-08-12 mischa define("SITE_TITLE", "NAME OF SITE");
41 cfa30988 2022-08-12 mischa define("BASE_URL", 'https://host.domain.tld/');
42 cfa30988 2022-08-12 mischa define("DB_HOST", 'localhost');
43 cfa30988 2022-08-12 mischa define("DB_USER", 'shortr');
44 cfa30988 2022-08-12 mischa define("DB_PASS", 'RandomStringOfChars');
45 cfa30988 2022-08-12 mischa define("DB_NAME", 'shortr');
46 cfa30988 2022-08-12 mischa define("DB_TABLE", 'urls');