]> jfr.im git - uguu.git/blame - README.md
Merge pull request #30 from illumniggati/patch-1
[uguu.git] / README.md
CommitLineData
35bc7430 1# About
68c573a6 2[Uguu.se](http://uguu.se) source code, stores files and deletes after X amount of time.
8805b1c1 3
697953e8 4# Tested with:
2239bd05 5* Nginx+PHP5-FPM (PHP 5.4) on Debian 7 Wheezy
66809aeb 6* Apache (PHP 5.4) on Ubuntu 14.04 LTS
2239bd05 7* Apache (PHP 5.6) on Debian 8 Jessie
66809aeb 8* Nginx+PHP5-FPM (PHP 5.6) on Debian 8 Jessie
8805b1c1 9
697953e8 10# Install:
67a54d5c 11
b6373dfc 12* Deploy base code, for example with `git clone https://github.com/nokonoko/Uguu.git`
697953e8
PAB
13* Modify includes/config.php (copy config.template.php as a starting point) to set up the main options for Uguu.
14* Some file extensions are blocked by default, this can be changed via includes/config.php's CONFIG_BLOCKED_EXTENSIONS value.
0296af03 15* Copy `rain/template/footer.template.html` as `rain/template/footer.html` and personalize the footer as you wish
697953e8
PAB
16* Execute check.sh regularly with cron to delete old files: `crontab -e` and add `0,15,30,45 * * * * bash /path/to/check.sh` (or adapt if you know how cron works).
17* Make the Uguu/public/files and Uguu/rain/cache directory modifiable by the web server user:
18`chown -R www-data:www-data /path/to/Uguu/public/files` and `chown -R www-data:www-data /path/to/Uguu/rain/cache`
9fea93f6 19* Make sure the Uguu/public/files folder is not indexable, you may use a virtual host config similar to this one using Apache:
697953e8
PAB
20
21```
22<VirtualHost *:80>
23 ServerName path.to.uguu
24
25 DocumentRoot /var/www/Uguu/
26 <Directory /var/www/Uguu/>
27 AllowOverride All
28 Require all granted
29 </Directory>
30
31 Alias "/files" "/var/www/Uguu/public/files/"
32 <Directory /var/www/Uguu/public/files/>
af1f50cf 33 <Files *>
0f98d00c
PAB
34 SetHandler default-handler
35 </Files>
36 AllowOverride None
37 Options -Indexes
38 Require all granted
697953e8
PAB
39 </Directory>
40
41</VirtualHost>
42```
67a54d5c 43
9fea93f6 44Or something like this using Nginx+PHP-FPM:
e3fe8ee9
GJ
45
46uguu.se
47```
48server{
49 listen 104.243.35.197:80;
50 server_name uguu.se www.uguu.se;
51
52 root /home/neku/www/uguu/;
53 autoindex off;
54 index index.html index.php;
55
e3fe8ee9
GJ
56 location ~* \.php$ {
57 fastcgi_pass unix:/var/run/php5-fpm.sock;
58 fastcgi_intercept_errors on;
59 fastcgi_index index.php;
60 fastcgi_split_path_info ^(.+\.php)(.*)$;
61 include fastcgi_params;
62 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
63 }
64
65 error_page 404 /404.html;
66 error_page 403 /404.html;
67 location /404.html {
68 root /home/neku/www;
69 }
70}
71```
72
73a.uguu.se (notice that scripts e.g PHP will NOT be executed from this subdomain)
74```
75server{
76 listen 104.243.35.197:80;
77 server_name a.uguu.se www.a.uguu.se;
78
79 root /home/neku/www/files;
80 autoindex off;
81 index index.html;
82
e3fe8ee9
GJ
83 error_page 404 /404.html;
84 error_page 403 /404.html;
85 location /404.html {
86 root /home/neku/www;
87 }
88}
89```
90
91
67a54d5c
GJ
92# Using the API
93
c2bbdeb0
GJ
94 * Leaving POST value 'name' empty will cause it to save using the original filename.
95 * Leaving POST value 'randomname' empty will cause it to use original filename or custom name if 'name' is set to file.ext.
2239bd05 96
c2bbdeb0
GJ
97 * Putting anything into POST value 'randomname' will cause it to return a random filename + ext (xxxxxx.ext).
98 * Putting a custom name into POST value 'name' will cause it to return a custom filename (yourpick.ext).
2239bd05 99
e7c58287 100 E.g:
d0cf9b3d
PAB
101 * curl -i -F name=test.jpg -F file=@localfile.jpg http://path.to.uguu/api.php?d=upload (HTML Response)
102 * curl -i -F name=test.jpg -F file=@localfile.jpg http://path.to.uguu/api.php?d=upload-tool (Plain text Response)