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