Mirror from Catbox.moe
You're probably reading this because you're too dense to google "lamp stack setup" and read the Readme.md in the git repo. The readme sucks ass though, so if that's the reason i don't *really* blame you. For the sake of simplicity I'm going to be using Apache and Ubuntu 16.04. If you want an Nginx guide, go fuck yourself. Things in code text with gray backgrounds are code you're supposed to enter in your command line.
A LAMP stack (Linux, Apache, MySQL, and PHP)
Node.js/NPM
apt-get update
Make sure you're up to date.apt-get install apache2
holy shit you've got a web server now!apt-get install mysql-server
Time to get MySQL. Ignore people who say "pomf should be database-less" or "SQLite pls".mysql_secure_installation
SECURE YOUR DB. or something. basically just say n to the first two, and y to the rest.apt-get install php libapache2-mod-php php-mcrypt php-mysql
Time to get PHP.service apache2 restart
for good measure.Congratulations! Your LAMP stack is now set up. All files that will be served to the web can be found in /var/www/html/.
apt-get install nodejs nodejs-legacy npm
Congratulations. You now have a fuckton of space taken up by this for "compressing" pomf, and saving about 1.5~ KB.Make sure you have git. Ubuntu comes with it. I don't know if your meme distro does.
cd /var/www/html
Navigating to your shitty web folder rm index.html
get apache's shitty index out of heregit clone --recursive https://github.com/pomf/pomf
rm -r expiry/
rm -r moe/
Get the stupid submodules out. they don't even work. expiry doesn't even have any files.Now is the part where I would recommend getting an FTP client. Editing all of pomf's shit via [insert favorite text editor here] is a pain.
I recommend WinSCP: https://winscp.net/eng/download.php
This is probably the hardest part for your 12 chromosomes to get. So hold on to your safety vest. I'll be saying "open x" because by now you should be using an FTP client to edit things.
mysql -p
. Log in with the password you made when you installed MySQL.CREATE DATABASE pomf;
quit
mysql -p pomf < /var/www/html/pomf/mysql_schema.sql
<VirtualHost *:80>
ServerName [[your domain]]
ServerAdmin [[your email]]
DocumentRoot /var/www/html
#REMOVE THESE TWO LINES IF YOU WANT NO LOGGING.
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html/files">
php_flag engine off
</Directory>
</VirtualHost>
a2ensite filename.conf
service apache2 reload
Did you get an error? That means you fucked something up. Give up.<VirtualHost *:80>
ServerName [[your sub domain]]
ServerAdmin [[your email]]
DocumentRoot /var/www/html/files
#REMOVE THESE TWO LINES IF YOU WANT NO LOGGING.
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
cd /var/www/html/pomf
make
make install DESTDIR=/var/www/html
mkdir /var/www/html/files
chown -R www-data:www-data /var/www/html
You can secure your site with an SSL cert for free from LetsEncrypt. Using Certbot is the easiest way.
For the sake of keeping this guide as short as possible, I won't go over basic shit like changing your DNS records at your registrar, or how to add any extra shit to pomf. It's a learning experience.
You may want to also remove the git repo you downloaded. It's just rm -r /var/www/html/pomf/
If you still didn't get it working, you should probably give up trying to host a public file hosting service.