]>
Commit | Line | Data |
---|---|---|
35bc7430 | 1 | # About |
07176c4c | 2 | [Uguu.se](https://Uguu.se) no longer runs this code but instead a modified version of [Pomf](https://github.com/pomf/pomf), will be uploading that code soon. |
c3ca8b67 GJ |
3 | |
4 | ||
697953e8 | 5 | # Tested with: |
66809aeb | 6 | * Apache (PHP 5.4) on Ubuntu 14.04 LTS |
2239bd05 | 7 | * Apache (PHP 5.6) on Debian 8 Jessie |
d18a3210 | 8 | * Apache (PHP 5.6.33 (remi-php56)) on CentOS 6.9 |
4e47f01b GJ |
9 | * Nginx+PHP5-FPM (PHP 5.4) on Debian 7 Wheezy |
10 | * Nginx+PHP5-FPM (PHP 5.6) on Debian 8 Jessie | |
077e37e5 | 11 | * Nginx+PHP7-FPM (PHP 7.0) on Debian 9 Stretch |
a405e92a | 12 | * [Caddy](https://caddyserver.com/) + php7.0-fpm on Ubuntu 16.04.4 LTS |
8805b1c1 | 13 | |
697953e8 | 14 | # Install: |
67a54d5c | 15 | |
b6373dfc | 16 | * Deploy base code, for example with `git clone https://github.com/nokonoko/Uguu.git` |
697953e8 PAB |
17 | * Modify includes/config.php (copy config.template.php as a starting point) to set up the main options for Uguu. |
18 | * Some file extensions are blocked by default, this can be changed via includes/config.php's CONFIG_BLOCKED_EXTENSIONS value. | |
0296af03 | 19 | * Copy `rain/template/footer.template.html` as `rain/template/footer.html` and personalize the footer as you wish |
495eda7b | 20 | * 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 |
21 | * Make the Uguu/public/files and Uguu/rain/cache directory modifiable by the web server user: |
22 | `chown -R www-data:www-data /path/to/Uguu/public/files` and `chown -R www-data:www-data /path/to/Uguu/rain/cache` | |
9fea93f6 | 23 | * Make sure the Uguu/public/files folder is not indexable, you may use a virtual host config similar to this one using Apache: |
25246fac | 24 | * If you intend to allow uploading files larger than 2 MB, you may also need to increase POST size limits in php.ini and webserver configuration. For PHP, modify upload_max_filesize and post_max_size values. The configuration option for Nginx webserver is client_max_body_size and LimitRequestBody for Apache. |
697953e8 PAB |
25 | ``` |
26 | <VirtualHost *:80> | |
27 | ServerName path.to.uguu | |
28 | ||
29 | DocumentRoot /var/www/Uguu/ | |
30 | <Directory /var/www/Uguu/> | |
31 | AllowOverride All | |
32 | Require all granted | |
33 | </Directory> | |
34 | ||
35 | Alias "/files" "/var/www/Uguu/public/files/" | |
36 | <Directory /var/www/Uguu/public/files/> | |
af1f50cf | 37 | <Files *> |
0f98d00c PAB |
38 | SetHandler default-handler |
39 | </Files> | |
40 | AllowOverride None | |
41 | Options -Indexes | |
42 | Require all granted | |
697953e8 PAB |
43 | </Directory> |
44 | ||
45 | </VirtualHost> | |
46 | ``` | |
67a54d5c | 47 | |
9fea93f6 | 48 | Or something like this using Nginx+PHP-FPM: |
e3fe8ee9 GJ |
49 | |
50 | uguu.se | |
51 | ``` | |
52 | server{ | |
53 | listen 104.243.35.197:80; | |
54 | server_name uguu.se www.uguu.se; | |
55 | ||
56 | root /home/neku/www/uguu/; | |
57 | autoindex off; | |
58 | index index.html index.php; | |
59 | ||
e3fe8ee9 GJ |
60 | location ~* \.php$ { |
61 | fastcgi_pass unix:/var/run/php5-fpm.sock; | |
62 | fastcgi_intercept_errors on; | |
63 | fastcgi_index index.php; | |
64 | fastcgi_split_path_info ^(.+\.php)(.*)$; | |
65 | include fastcgi_params; | |
66 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |
67 | } | |
68 | ||
69 | error_page 404 /404.html; | |
70 | error_page 403 /404.html; | |
71 | location /404.html { | |
72 | root /home/neku/www; | |
73 | } | |
74 | } | |
75 | ``` | |
76 | ||
77 | a.uguu.se (notice that scripts e.g PHP will NOT be executed from this subdomain) | |
78 | ``` | |
79 | server{ | |
80 | listen 104.243.35.197:80; | |
81 | server_name a.uguu.se www.a.uguu.se; | |
82 | ||
83 | root /home/neku/www/files; | |
84 | autoindex off; | |
85 | index index.html; | |
86 | ||
e3fe8ee9 GJ |
87 | error_page 404 /404.html; |
88 | error_page 403 /404.html; | |
89 | location /404.html { | |
90 | root /home/neku/www; | |
91 | } | |
92 | } | |
93 | ``` | |
94 | ||
a405e92a | 95 | Or something like this for usage with caddy: |
96 | ``` | |
97 | uguu.se { | |
98 | fastcgi / /var/run/php/php7.0-fpm.sock php | |
99 | root /home/neku/www | |
100 | } | |
101 | ||
102 | a.uguu.se { | |
103 | root /home/neku/www/files | |
104 | } | |
105 | ``` | |
106 | ||
e3fe8ee9 | 107 | |
67a54d5c GJ |
108 | # Using the API |
109 | ||
c2bbdeb0 GJ |
110 | * Leaving POST value 'name' empty will cause it to save using the original filename. |
111 | * Leaving POST value 'randomname' empty will cause it to use original filename or custom name if 'name' is set to file.ext. | |
2239bd05 | 112 | |
c2bbdeb0 GJ |
113 | * Putting anything into POST value 'randomname' will cause it to return a random filename + ext (xxxxxx.ext). |
114 | * Putting a custom name into POST value 'name' will cause it to return a custom filename (yourpick.ext). | |
2239bd05 | 115 | |
e7c58287 | 116 | E.g: |
d0cf9b3d PAB |
117 | * curl -i -F name=test.jpg -F file=@localfile.jpg http://path.to.uguu/api.php?d=upload (HTML Response) |
118 | * curl -i -F name=test.jpg -F file=@localfile.jpg http://path.to.uguu/api.php?d=upload-tool (Plain text Response) |