How to Install Lynxchan 2.0.0 on Debian 9.4
Nicolás edited this page 1 week ago

1. Make sure our system is up to date.

apt update
apt upgrade  

2. Install MongoDB, UnZip, ImageMagick, Git, FFMpeg, cURL, Nginx, Certbot and its plugin for Nginx.

apt install mongodb unzip imagemagick git ffmpeg curl nginx certbot python-certbot-nginx

3. Install Node.js 8.x.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -  
apt install nodejs

4. Add user node to the system, switch to user node, get into the /home/node/ directory, retrieve LynxChan files via git, change directory to /home/node/LynxChan/aux/ and execute the setup.sh script.

adduser node
su node
cd /home/node/
git clone https://gitgud.io/LynxChan/LynxChan
cd /home/node/LynxChan/aux/
./setup.sh

5. Exit from user node to be back as user root, change directory to /home/node/LynxChan/aux/ and execute root-setup.sh. Remember to choose systemd when asked.

exit
cd /home/node/LynxChan/aux/
./root-setup.sh

6. Configure Nginx in order to make a proxy pass. Open the file listed below with nano or your favorite text editor.

nano /etc/nginx/sites-available/default

7. Delete all text inside the file, copypaste the configuration shown below and save the file. Don't forget to change yourdomain.com and www.yourdomain.com to your domain.

server {
        listen 80;
        server_name yourdomainname.com www.yourdomain.com;
        client_max_body_size 100m;
        client_body_timeout 120s;
        location / {
                proxy_pass http://localhost:8080;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
                proxy_set_header X-Forwarded-For $remote_addr;
                server_tokens off;
        }
}

8. Make the SSL certificates using the Certbot program. Remember to change yourdomain.com and www.yourdomain.com before running the command shown below.

certbot --standalone --installer nginx -d yourdomain.com -d www.yourdomain.com --pre-hook "service nginx stop" --post-hook "service nginx start"

9. Execute Crontab. If it asks to choose a text editor pick nano.

crontab -e

12. Copypaste the text below and save it.

30 2 * * * certbot renew --noninteractive --pre-hook "service nginx stop" --post-hook "service nginx start" >> /var/log/lynxchan-certbot.log

13. Add a favicon to your imageboard. In order to do this, copy your favicon.ico to this location.

/home/node/LynxChan/src/fe/static

14. Now push the favicon.ico to MongoDB in order to make it appear on your imageboard. Don't worry if it doesn't appear instantly.

mongofiles -h localhost -d lynxchan -p 27017 -l /home/node/LynxChan/src/fe/static/favicon.ico put /favicon.ico

15. In order to update the location data and flags for every poster we will change directory to locationData and execute the updateData script.

cd /home/node/LynxChan/src/be/locationData
./updateData

16. Change permissions to all LynxChan files, then enable and start the LynxChan engine using the systemctl program.

chmod -R 755 /home/node/LynxChan/
systemctl enable lynxchan.service
systemctl start lynxchan.service

17. Create your LynxChan root account.

lynxchan -nd -ca -l yourname -p yourpassword -gr 0

18. Now you can log in with your account via web and configure the board to your taste. Remember, board creation, banners and more are configurable via web. Moderation too.

For any questions you can contact me on IRC.

I'm nic at irc://irc.euirc.net/berndchan