https://curl.haxx.se/docs/manpage.html
Podstawowe użycie – pobiera stronę
# curl https://example.com
https://curl.haxx.se/docs/manpage.html
Podstawowe użycie – pobiera stronę
# curl https://example.com
https://xdsoft.net/jqplugins/datetimepicker/ – pobrać nowe
Wgranie plików na serwer:
/webroot/css/jquery.datetimepicker.css /webroot/lib/jquery.datetimepicker.full.min.js
templates/layout/default.ctp
head <link rel="stylesheet" href="/css/jquery.datetimepicker.css"> footer <?= $this->Html->script('/lib/jquery.datetimepicker.full.min.js') ?>
dołączyć plik inicjalizujący np. common.js
jQuery.datetimepicker.setLocale('pl');
jQuery(".datetimepicker").datetimepicker({
format:'Y-m-d',
timepicker:false,
mouseWheel: false,
dayOfWeekStart : 1, // poniedziałek
scrollMonth : false, // nie przewija myszą miesięcy
scrollInput : false, // nie przewija nic
i18n:{
pl:{
months:[
'Styczeń','Luty','Marzec','wiecień',
'Maj','Czerwiec','Lipiec','Sierpień',
'Wrzesień','Październik','Listopad','Grudzień',
],
dayOfWeek:[
"Nie", "Pon", "Wto", "Śr",
"Czw", "Pt", "Sob",
]
}
}
});
Użycie w szablonie:
<?= $this->Form->text('purchase_date', [ 'class' => 'form-control w-25 datetimepicker', 'default' => (new \DateTime())->format('Y-m-d') ]) ?>
Szczegóły pluginu
# composer require 'davidyell/proffer:^1.0'
Wszytkie pola poza 'published’
# $query->selectAllExcept( $articlesTable, ['published']);
Stos wywioań: alias / funkcja – pozostałe pola
# $query ->select(['slug' => $query->func()->concat(['title' => 'identifier', '-', 'id' => 'identifier'])]) ->select($articlesTable); // Select all fields from articles
Plugin CSV
https://packagist.org/packages/friendsofcake/cakephp-csvview
# composer require friendsofcake/cakephp-csvview # bin/cake plugin load CsvView
Instalacja
# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Nazwa domeny
# systeminfo | findstr /B /C:"Domain" Domain: WORKGROUP
Dodawanie zmiennych do szablonu
$this->Form->setTemplates([ 'inputContainer' => '<div class="input {{type}}{{required}}"> {{content}} <span class="help">{{help}}</span></div>' ]);
Załadowanie szablonu config/bootstrap_templ.php
// In a View class $this->loadHelper('Form', [ 'templates' => 'bootstrap_temp.' ]);
Definicja szablonu w pliku config/app_form.php
// config/app_form.php return [ 'inputContainer' => '<div class="form-control">{{content}}</div>', ];
UsersController
Przy wysyłaniu maila z poziomu PHP niektóre serwery nie obsługują smtputf8.
# tailf /var/log/mail.log Mar 7 11:22:31 mail postfix/smtp[22107]: 6CF0BA105E: to=<biuro@topdieta.pl>, relay=topdieta.pl[85.128.156.6]:25, delay=0.27, delays=0.04/0.02/0.2/0, dsn=5.6.7, status=bounced (SMTPUTF8 is required, but was not offered by host topdieta.pl[85.128.156.6])
Aby wyłączyć wsparcie należy:
# apt install libicu-dev
# postconf "smtputf8_enable = no"
# posfix reload
Utworzenie requestu serwera (bez hasła dla klucza)
# openssl req -config openssl-server.cnf -newkey rsa:2048 -sha256 -nodes -out /etc/ssl/requests/h25.csr -keyout /etc/ssl/private/h25.pem -outform PEM
# nano /etc/ssl/openssl-server.cnf
Czytaj dalej openssl – plik konfiguracyjny serwera openssl-server.cnf
Nowy certyfikat serwera: bez CA – na 3 lata – bez zaszyfrowanego klucza
# openssl req -newkey -x509 -nodes rsa:4096 -days 1089 -keyout /etc/ssl/private/serverkey.pem -out /etc/ssl/newcerts/servercert.pem
Weryfikacja
# openssl x509 -purpose -in /etc/ssl/newcerts/servercert.pem
Czytaj dalej openssl – certyfikat serwera self-signed – bez CA
Utworzenie CA i certyfikat serwera
TLS jest domyślnie wyłączony, aby go włączyć w pliku
/etc/postfix/main.cf: smtpd_tls_security_level = may - serwer ogłasza obsługę STARTTLS klientom SMTP, nie wymusza szyfrowania smtpd_tls_security_level = encrypt - wymusza szyfrowanie TLS (NIE STOSOWAĆ)
Włącza szyfrowanie na porcie 465 (smtps) – odkomentować opcje:
/etc/postfix/master.cf: # zakomentować opcję - wyłącza port 25 #smtp inet n - y - - smtpd # odkomentować opcje - włącza 465 smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
Pliki i style do korekty:
SASL – autoryzacja zewnętrznych klientów
https://www.postfix.org/SASL_README.html
Czytaj dalej Postfix – SASL
# openssl ciphers -v
TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD
TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD
....
Jeśli baza haseł pochodzi z zewnętrznej aplikacji i jest skrótem sha1 to aby Cake skutecznie użył Fallback’u – trzeba wyłączyć sól.
Cake/Auth/WeakPasswordHasher.php
public function hash($password)
{
return Security::hash($password, $this->_config['hashType'], true);
}
true zamienić na false - nie będzie używał Security::salt
https://api.cakephp.org/3.0/source-class-Cake.Auth.WeakPasswordHasher.html#21-72
# postconf mail_version - wersja systemu mail_version = 3.1.9 # nano /etc/postfix/main.cf # postconf -e 'smtpd_sasl_path = private/auth' # postconf -n # postfix reload lub # systemctl restart postfix # systemctl status postfix # netstat -tlpn # tailf /var/log/mail.log
/etc/apache2/sites-available/000-default.conf
<VirtualHost 156.111.131.212:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/h25
ServerName h25.pl
</VirtualHost>
# certbot certonly --webroot -w /var/www/html/h25 -d h25.pl
/etc/letsencrypt/live/h25.pl/fullchain.pem
/etc/letsencrypt/live/h25.pl/privkey.pem
# certbot renew
Application.php : bootstrap()
if ( Configure::read('debug') ) {
Configure::write('DebugKit.forceEnable', true);
$this->addPlugin(\DebugKit\Plugin::class);
}
# cd /var/www/html
# curl -s https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
# composer create-project --prefer-dist cakephp/app cms
#composer require twbs/bootstrap:4.3.0
# apt-get update # apt-get upgrade Czytaj dalej Aruba debian początek instalacji
# composer require imagine/imagine
# composer require cakephp/migrations
# composer require burzum/file-storage:2.*
# cake migrations migrate -p Burzum/FileStorage
apt -y install lsb-release apt-transport-https ca-certificates ## zainstalowane
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.3.list
apt update
apt -y install php7.3
apt install php7.3-
php7.3-xml
php7.3-intl
php7.3-soap
php7.3-mysql
php7.3-mbstring
php7.3-gd
php7.3-openssl
php7.3-curl
php7.3-zip
php7.3-xmlrpc
php7.3-sqlite3
apt install libapache2-mod-php7.3
apt policy php7.3-cli
a2dismod php7.2
a2enmod php7.3
systemctl restart apache2