Wekan Kanban Install: Difference between revisions

From Traxel Wiki
Jump to navigation Jump to search
 
(30 intermediate revisions by the same user not shown)
Line 3: Line 3:
https://wekan.github.io/
https://wekan.github.io/


= Magic Candy Install =
See Also: [[Wekan_Install_Archive]]


= Snap Take 3: Herd Securities =
== Grab a Domain Name ==
Registered herdsecurities.com on NameCheap
* kanban.herdsecurities.com -> WeKan
* wiki.herdsecurities.com -> Mediawiki
== Create an Instance ==
Create a Lightsail instance, OS Only, Debian latest.
Initialization Script:
<pre>
<pre>
sudo apt update -y && sudo apt upgrade -y
apt update -y
sudo apt install snapd -y
apt upgrade -y
sudo apt install nginx -y
apt install -y emacs-nox
sudo snap install wekan
apt install -y snapd
sudo snap set wekan port="6080"
snap install wekan
sudo systemctl restart snap.wekan.mongodb
sudo systemctl restart snap.wekan.wekan
</pre>
</pre>


Aborted: Too much bullshit, not enough control.
Attach a static IP (52.38.144.14)


= Low Level Install =
Assign that IP to kanban.herdsecurities.com


Low-level install instructions:
That will take a while to propagate through DNS, so add it to your local hosts file too.
https://websiteforstudents.com/how-to-install-wekan-on-ubuntu-18-04-16-04/


=== System Update ===
<pre>
<pre>
sudo apt update
$ sudo emacs -nw /etc/hosts
sudo apt upgrade -y
> 52.38.144.14 kanban.herdsecurities.com
sudo apt install -y emacs-nox
</pre>
</pre>


=== Wekan User ===
Connect to console


<pre>
<pre>
sudo useradd -m -s /bin/bash wekan
ssh -i ~/.ssh/id_rsa_social001 admin@kanban.herdsecurities.com
sudo passwd wekan
</pre>
</pre>


Full Entertainment
== SSL & NGINX ==


=== Node.JS + NVM ===
<pre>
$ sudo emacs -nw /etc/apt/sources.list
> deb http://ftp.debian.org/debian buster-backports main
$ sudo apt update -y
$ sudo apt install -y python-certbot-nginx -t buster-backports
</pre>


Node Package Manager, Node Version Manager
<pre>
 
$ sudo emacs -nw /etc/nginx/nginx.conf
Find the latest here:
# uncomment the following:
https://github.com/nvm-sh/nvm#installing-and-updating
>        server_names_hash_bucket_size 64;
$ sudo systemctl restart nginx
</pre>


<pre>
<pre>
sudo apt install nodejs -y
$ sudo emacs -nw /etc/nginx/sites-available/wekan.conf
su - wekan
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
source ~/.bashrc
nvm install v4.8
nvm use node
exit # exit wekan account, back to admin
</pre>
</pre>
<pre>
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}


=== MongoDB ===
server {
    listen 443;
    server_name kanban.herdsecurities.com;
    if ($http_user_agent ~ "MSIE") {
        return 303 https://browser-update.org/update.html;
    }
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade; # allow websockets
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header X-Forwarded-For $remote_addr; # preserve client IP
    }
}
</pre>


<pre>
<pre>
sudo apt install dirmngr gnupg apt-transport-https software-properties-common ca-certificates curl
sudo nginx -t
curl -fsSL https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
sudo systemctl restart nginx
sudo add-apt-repository 'deb https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main'
sudo apt update
sudo apt install mongodb-org -y
</pre>
</pre>


<pre>
<pre>
sudo systemctl enable mongod --now # note "mongod" not "mongodb"
$ sudo ln -s /etc/nginx/sites-available/wekan.conf /etc/nginx/sites-enabled/
</pre>
</pre>
Create email address herdsecurities@traxel.com as admin address for cert.


<pre>
<pre>
$ mongo --host 127.0.0.1:27017
sudo certbot --nginx -d kanban.herdsecurities.com
> use admin
> db.createUser({user:"admin", pwd:"new_password_here", roles:[{role:"root", db:"admin"}]})
> exit
</pre>
</pre>


<pre>
Fair warning: The above documentation (just the NGINX and SSL section) is not an exact match for what I did. My sequence biffed and I had to manually fix it. It's a bit messy. I may start over, but it's working, so probably not.
$ sudo emacs -nw /etc/mongod.conf
> security:
>  authorization: enable
$ sudo systemctl restart mongod
</pre>


[[Category:Hacking]]
[[Category:Hacking]]
[[Category:OpenDevOps]]
[[Category:OpenDevOps]]

Latest revision as of 19:28, 17 April 2021

Document an install of this:

https://wekan.github.io/

See Also: Wekan_Install_Archive

Snap Take 3: Herd Securities

Grab a Domain Name

Registered herdsecurities.com on NameCheap

  • kanban.herdsecurities.com -> WeKan
  • wiki.herdsecurities.com -> Mediawiki

Create an Instance

Create a Lightsail instance, OS Only, Debian latest.

Initialization Script:

apt update -y
apt upgrade -y
apt install -y emacs-nox
apt install -y snapd
snap install wekan

Attach a static IP (52.38.144.14)

Assign that IP to kanban.herdsecurities.com

That will take a while to propagate through DNS, so add it to your local hosts file too.

$ sudo emacs -nw /etc/hosts
> 52.38.144.14 kanban.herdsecurities.com

Connect to console

ssh -i ~/.ssh/id_rsa_social001 admin@kanban.herdsecurities.com

SSL & NGINX

$ sudo emacs -nw /etc/apt/sources.list
> deb http://ftp.debian.org/debian buster-backports main
$ sudo apt update -y
$ sudo apt install -y python-certbot-nginx -t buster-backports
$ sudo emacs -nw /etc/nginx/nginx.conf
# uncomment the following:
>         server_names_hash_bucket_size 64;
$ sudo systemctl restart nginx
$ sudo emacs -nw /etc/nginx/sites-available/wekan.conf
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen 443;
    server_name kanban.herdsecurities.com;
    if ($http_user_agent ~ "MSIE") {
        return 303 https://browser-update.org/update.html;
    }
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade; # allow websockets
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header X-Forwarded-For $remote_addr; # preserve client IP
    }
}
sudo nginx -t
sudo systemctl restart nginx
$ sudo ln -s /etc/nginx/sites-available/wekan.conf /etc/nginx/sites-enabled/

Create email address herdsecurities@traxel.com as admin address for cert.

sudo certbot --nginx -d kanban.herdsecurities.com

Fair warning: The above documentation (just the NGINX and SSL section) is not an exact match for what I did. My sequence biffed and I had to manually fix it. It's a bit messy. I may start over, but it's working, so probably not.