PluXml 5.6 / CKEditor 4.7.3 modification to get handy code <div>
I modified the file /plugins/ckeditor/ckeditor/styles.js
to have a much more easier way to put code in my memo.
Before:
{
name: 'Special Container',
element: 'div',
styles: {
padding: '5px 10px',
background: '#eee',
border: '1px solid #ccc'
}
},
After:
{
name: 'Special Container',
element: 'div',
styles: {
padding: '5px 10px',
background: '#eee',
border: '1px solid #ccc',
'white-space': 'nowrap',
'overflow': 'auto',
'font-family': 'monospace, monospace',
'font-size': '0.9rem'
}
},
Modification to get better visual when using <kbd>
In PluxXML Administration > Parameters > Themes > Edit Theme files > /css/plucss.css I have set this for <kbd> HTML tag.
kbd {
background-color: #eee;
border-radius: 3px;
border: 1px solid #b4b4b4;
box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 2px 0 0 rgba(255, 255, 255, .7) inset;
color: #333;
display: inline-block;
font-size: .85em;
font-weight: 700;
line-height: 1;
padding: 2px 4px;
white-space: nowrap;
}
- Before : CTRL + ALT + DEL
- After : CTRL + ALT + DEL
CSS source
Information from shellhacks.com.
Download
The following command recursively downloads your site with all its files and folders from FTP server and saves them to the current directory.
wget -r -l 0 -nH -X folder_to_skip ftp://user:pass@ftp.server.com
option |
description |
user |
FTP username |
pass |
FTP password |
ftp.server.com |
IP address or domain name of an FTP server |
-r |
Recursive retrieving |
-l |
Maximum recursion depth (0 = unlimit) (default = 5) |
-nH |
Disable generation of host-prefixed directories |
-X |
exclude a list of directories |
Backup
Now you can compress the folder with your site as follows:
tar -czf site-backup-$(date +%Y%m%d-%H%M%S).tar.gz yoursite.com
Install pluxml on raspberry pi
I am using nginx + php7 + pluxml following these 3 links:
- https://www.raspberrypi.org/documentation/remote-access/web-server/nginx.md
- https://blog.norore.fr/index.php?article13/pluxml-nginx-et-php-7-sont-dans-un-bateau
- https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/
To find which php version should be installed, you can search what is available:
$ apt-cache search php7
Install php and nginx (see here to install nginx):
$ sudo apt-get install php7.3-fpm php7.3-xml php7.3-gd
Once all is installed, configure php :
$ sudo nano /etc/php/7.3/fpm/pool.d/www.conf
[www]
user = www-data
group = www-data
listen = /run/php/php7.3-fpm.sock
listen.owner = www-data
listen.group = www-data
;listen.mode = 0660
$ sudo nano /etc/nginx/sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location @handler {
rewrite ^/(.*)$ /index.php? last;
}
# pass PHP scripts to FastCGI server
#
location ^~ /pluxml_folder {
auth_basic "admin";
auth_basic_user_file /etc/apache2/.htpasswd;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /(data/configuration|version|update|\.ht) {
deny all;
}
}
Then restart both services.
Interesting problem : Nginx sucessfully password protects PHP files, but then prompts you to download them
Answer : The problem is a fundamental misunderstanding as to how nginx processes a request. Basically, nginx chooses one location to process a request.
You want nginx to process URIs that begin with /admin in a location block that requires auth_basic. In addition, URIs that end with .php need to be sent to PHP7.
So you need two fastcgi blocks, one to process normal PHP files and one to process restricted PHP files.
SSL certificate with no-ip.com
SSL Certificate Now Included with No-IP Free Dynamic DNS.
Tutorial #0: How to Configure the TrustCor Standard DV SSL
Tutorial #1: NGINX Server setup for TrustCor SSL
Generate the private key and CSR from the NGINX server by running this command:
$ sudo openssl req -nodes -days 365 -newkey rsa:2048 -keyout nginx1-trustcor.key -out nginx1-trustcor.csr
Ignoring -days; not generating a certificate
Generating a RSA private key
.....................................................+++++
.................................................................+++++
writing new private key to 'nginx1-trustcor.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:France
Locality Name (eg, city) []:none
Organization Name (eg, company) [Internet Widgits Pty Ltd]:none
Organizational Unit Name (eg, section) []:none
Common Name (e.g. server FQDN or YOUR name) []:DOMAIN_NAME.ddns.net
Email Address []:none
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:none
$
Troubleshooting
Sometimes, I've had the situation where http requests from browsers are being served old versions of the PHP files, missing updates to the PHP scripts that have been uploaded to the server.
To solve this issue, I had to modify the php.ini file by setting :
opcache.enable=0
To find your php.ini location, run this php file on your server:
<?php
phpinfo();
?>
Then to reload php.ini file, restart php-fpm:
$ sudo systemctl stop php7.4-fpm
$ sudo systemctl start php7.4-fpm
$
Source 1, 2