Action unknown: siteexport_addpage

Python Code Snippets

List of files, just filenames, no directories.

filenames_no_dirs = next(os.walk(directory))[2]

List files, no directories, full path

filenames = [os.path.join(directory, fn) for fn in next(os.walk(directory))[2]]

Indicate that your string variable is a raw string.

print(r'%s' % raw_string)
· 2021/04/09 17:19 · 2021/04/11 14:21

Useful Linux CLI Commands

crontab -u www-data -e - Edit crontab of user where www-data is the user.

rsync -a /dir1/ /dir2/ - Sync two directories. This overwrites files with the same names.

stat file.txt - Show information about a file or directory

du -sh directory/ - show file or directory size

zip -r zip_filename.zip directory/ - zip up a directory

unzip zip_filename.zip - unzip file to current directory

zipinfo zip_filename.zip - list files and directories in a zip file

grep -i “whatever” file.txt - search for “whatever” in file.txt

!! - run last command

sudo !! - run last command as root

One of the easiest tools to use if you don't know the syntax of a command is TLDR. On Ubuntu you can simply install it using apt, apt install tldr. Simply use tldr zip where zip is the command you wish to know more about.

· 2021/03/26 07:47 · 2021/04/09 02:34

Install Gogs on Ubuntu 20.04 with MariaDB

These instructions will install Gogs on an Ubuntu 20.04 server using the MariaDB back-end. Gogs is a self-hosted front-end to Git. Gogs is extremely lightweight and comes in a single binary file. It also supports multiple back-end databases including PostgreSQL, MySQL, or SQLite3.

These commands assume you are running as root or sudo. All scripts also rely on the install directory being /home/git. Remember to set your own password wherever a password is needed.

Install MariaDB

apt install mariadb-server
mysql_secure_installation

Download and extract the latest/desired version of Gogs from dl.gogs.io/

wget https://dl.gogs.io/0.12.3/gogs_0.12.3_linux_amd64.tar.gz
tar xzvf gogs_0.12.3_linux_amd64.tar.gz

Create a systemd service file in /lib/systemd/system/gogs.service

[Unit]
Description=Gogs
After=syslog.target
After=network.target
 
[Service]
LimitMEMLOCK=infinity
LimitNOFILE=4000
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/home/git
ExecStart=/home/git/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git GOGS_WORK_DIR=/home/git
 
[Install]
WantedBy=multi-user.target

Enable Gogs service

systemctl enable gogs

Start Gogs service

systemctl start gogs

Install nginx

apt install nginx

Log in to MariaDB to create a user and database

mysql -u root -p

Create database

CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Create user and grant privileges

CREATE USER 'gogs'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON gogs.* TO 'gogs'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Create nginx proxy file. Note that I am using an SSL certificate here. If you do not have your own certificate, you can use certbot.

server {
    listen 80;
    server_name gogs.domain.edu;
    return 301 https://$server_name$request_uri;
}
 
server {
    listen 443 ssl;
    server_name gogs.domain.edu;
 
    ssl_certificate /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.key;
 
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000/;
    }
}

Test your nginx configuration file

nginx -t

Restart nginx

systemctl restart nginx

Set the external URL by editing /home/git/custom/conf/app.ini.

Continue the installation using the web interface https://gogs.domain.edu.

· 2021/03/01 11:41 · 2021/04/10 23:34

Useful Commands for Windows Subsystem for Linux

wsl -l -v - check current WSL version in use

wsl -–set-default-version 1 - set default WSL version. Currently 1 or 2.

wsl -–set-version Ubuntu-20.04 2 - convert WSL version to version 2 where Ubuntu-20.04 is the name of the distribution.

· 2020/08/22 06:10 · 2021/03/11 19:36

Upgrade/Install PHP 7.4 in CentOS 8

The good news is this whole process is relatively painless, so here we go.

As always, all the commands assume you have root permissions.

Install the EPEL and remi repositories.

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

List the PHP versions you have available

dnf module list php

This should list versions of PHP both in the main repositorys as well as the remi repository. We want to enable remi-7.4.

Reset the php module (if you already have an existing PHP version installed)

dnf module reset php

Install PHP 7.4

dnf module enable php:remi-7.4

Update using dnf

dnf update

PHP 7.4 should now be installed.

Verify PHP version

php -v

· 2020/07/31 19:54 · 2021/03/01 11:13

Older entries >>