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