nano /etc/ssh/sshd_config
Add a line PermitRootLogin yes:
# Authentication:
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
Restart the SSH server:
systemctl restart sshd
My personal knowledge base, online.
Content about system-management: installation, configuration, and maintenance.
nano /etc/ssh/sshd_config
Add a line PermitRootLogin yes:
# Authentication:
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
Restart the SSH server:
systemctl restart sshd
sudo du -hc --max-depth=1 /var
Unfortunately MongoDB does not have an ARM64 bit package for Raspberry Pi yet, so I’m installing this on a Raspberry Pi with a 32-bit (Debian-based) Raspberry Pi OS:
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt-get autoclean -y
sudo apt install openjdk-8-jre-headless jsvc libcommons-daemon-java -y
sudo apt install haveged -y
sudo apt install mongodb-server mongodb-clients -y
echo 'deb https://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list
sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg
sudo apt update && sudo apt install unifi -y
Go to your UniFi Controller via the IP address and port, for example: https://10.1.0.5:8443
Find the InfluxDB configuration file in /etc/influxdb/influxdb.conf and adjust the following line:
# Determines whether HTTP request logging is enabled.
log-enabled = false
If you echo nothing to a file, it will clear the content to empty it. Just using sudo will not work, you need to be root!
sudo su
echo "" > logfile
Stop running containers using docker-compose and remove the containers.
docker-compose stop
docker rm docker_nginx_1
docker rm docker_connectivity_1
docker rm docker_gateway_1
docker rm docker_things_1
docker rm docker_concierge_1
docker rm docker_things-search_1
docker rm docker_policies_1
docker rm docker_mongodb_1
docker rm docker_swagger-ui_1
docker system prune -a
Download the latest Ditto zip from Github and re-run docker-compose.yaml.
This folder contains an example docker-compose.yml
which can be used to start Eclipse Ditto with its backing Database – MongoDB – and a reverse proxy – nginx – in front of the HTTP and WebSocket API.
Source: https://github.com/eclipse/ditto/blob/master/deployment/docker/README.md
The nginx’s configuration is located in the nginx.conf
file and contains a “Basic authentication” for accessing the HTTP and WebSocket API. The users for this sample authentication are configured in the nginx.httpasswd
file also located in this directory.
In order to add a new entry to this file, use the “openssl passwd” tool to create a hashed password:
openssl passwd -quiet
Password: <enter password>
Verifying - Password: <enter password>
Append the printed hash in the nginx.httpasswd
file placing the username who shall receive this password in front like this:
ditto:A6BgmB8IEtPTs
You may configure each service via passing variables to the java VM in the entrypoint section for each service.
...
# Alternative approach for configuration of the service
command: java -Dditto.gateway.authentication.devops.password=foobar -jar starter.jar
To get a list of available configuration options you may retrieve them from a running instance via:
# Substitute gateway with the service you are interested in
curl http://devops:foobar@localhost:8080/devops/config/gateway/?path=ditto
Or by going through the configuration files in this repository e.g. /services/gateway/starter/src/main/resources/gateway.conf.
docker-compose up -d
Check the logs after starting up:
docker-compose logs -f
docker-compose down
Create a folder, for example /app/dotnet6, and assign ownership to the right user:
mkdir /app/dotnet6
chown -R pi /app/
Download the .NET 6 SDK at Microsoft:
wget https://download.visualstudio.microsoft.com/download/pr/adcd9310-5072-4179-9b8b-16563b897995/15a7595966f488c74909e4a9273c0e24/dotnet-sdk-6.0.100-linux-arm64.tar.gz
Extract the tar.gz file in the /app/dotnet6 directory:
sudo tar zxf dotnet-sdk-6.0.100-linux-arm64.tar.gz -C /app/dotnet6
Test the .NET6 installation by browsing to the installation directory and execute the dotnet –info command:
cd /app/dotnet6
dotnet --info
.NET SDK (reflecting any global.json):
Version: 5.0.101
Commit: d05174dc5a
Runtime Environment:
OS Name: debian
OS Version: 10
OS Platform: Linux
RID: debian.10-arm64
Base Path: /app/dotnet/sdk/5.0.101/
Host (useful for support):
Version: 5.0.1
Commit: b02e13abab
.NET SDKs installed:
5.0.101 [/app/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 5.0.1 [/app/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 5.0.1 [/app/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET runtimes or SDKs:
https://aka.ms/dotnet-download
Locate php.ini. For Debian this file is located in:
/etc/php/7.4/apache2
Search for the following configuration lines (in nano use CTRL+W for search) and replace the existing configuration values with acceptable values.
max_execution_time = 60
memory_limit = 128M
post_max_size = 64M
upload_max_filesize = 64M
max_input_time = 60
file_uploads = On
safe_mode = Off
Locate .htaccess file in the root of your wordpress directory and add or adjust:
php_value upload_max_filesize 64M
php_value post_max_size 128M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300
When you open the media library in WordPress and try to upload a file it should reflect the maximum configured upload file size:
Upgrading InfluxDB failed. For some reason the update caused permission issues with the start-up script:
usr/lib/influxdb/scripts/influxd-systemd-start.sh
When I gave this file permission to execute the InfluxDB service started again:
chmod +x /usr/lib/influxdb/scripts/influxd-systemd-start.sh
Then, the next problem appeared: systemctl didn’t recognise that the service was actually running: it was stuck in the state “activating”. Then I found an article on serverfault that described my problem.
I’m running InfluxDB on Debian so couldn’t apply the suggestion solution, but needed to interpret this a bit. I edited the file:
/etc/systemd/system/influxd.service
I changed the type to simple, as indicated in this code sample:
[Unit]
Description=InfluxDB is an open-source, distributed, time series database
Documentation=https://docs.influxdata.com/influxdb/
After=network-online.target
[Service]
User=influxdb
Group=influxdb
LimitNOFILE=65536
EnvironmentFile=-/etc/default/influxdb
ExecStart=/usr/lib/influxdb/scripts/influxd-systemd-start.sh
KillMode=control-group
Restart=on-failure
Type=simple
PIDFile=/var/lib/influxdb/influxd.pid
[Install]
WantedBy=multi-user.target
Alias=influxd.service
Today, one of my virtual systems ran out of disk space. To find the root cause I needed to find the directory that was filling up. Using the right parameters, the du command returns a list of directories and their disk space consumption.
du -hc --max-depth=0 /var
For example:
root@DB152:/# du -hc --max-depth 1 /var
704K /var/tmp
4.0K /var/mail
23M /var/log
1.1M /var/backups
4.0K /var/local
3.2G /var/lib
20K /var/spool
734M /var/cache
4.0K /var/opt
3.9G /var
3.9G total
Removing files of a certain type recursively:
find . -name "*json.log" -type f -delete
Clearing (system) log files:
truncate /var/log/* --size 0