Installation - STEP 2 - Installing Core
Run this in terminal
Create folder if not exist
sudo mkdir /var/www sudo mkdir /var/www/html
FOLDER /var/www/html MUST BE EMPTY!!
To delete all in /var/www/html run this commands
sudo rm -R /var/www/html/*
sudo rm -R /var/www/html/.*
Installing Core files
sudo chown -R www-data /var/www/html/
cd /var/www/html
sudo -u www-data composer create-project wintercms/winter . --no-scripts
Installing Composer requirements
sudo -u www-data composer require textalk/websocket
sudo -u www-data composer require winter/wn-translate-plugin
sudo -u www-data composer require winter/wn-pages-plugin
sudo -u www-data composer require winter/wn-user-plugin
sudo -u www-data composer require mjaschen/phpgeo
sudo -u www-data composer require mtdowling/cron-expression
sudo -u www-data composer require spatie/dns
sudo -u www-data composer require spatie/period
sudo -u www-data composer require spatie/ssl-certificate
sudo -u www-data composer require qazd/text-diff
Removing unneeded Core files (optional)
sudo -u www-data rm -rf themes/demo/
sudo -u www-data rm -rf plugins/winter/demo/
Changing core config
Change /var/www/html/config/database.php
sudo nano /var/www/html/config/database.php
section connections => mysql ! - IMPORTANT - !
'strict' => false,
Change /var/www/html/config/app.php *
sudo nano /var/www/html/config/app.php
section timezone change to your timezone
'timezone' => 'Europe/Kyiv',
Change /var/www/html/config/cms.php * (optional)
sudo nano /var/www/html/config/cms.php
section backendTimezone change to your timezone
'backendTimezone' => 'Europe/Kyiv',
* - your timezone can be different (see here https://www.php.net/manual/en/timezones.php)
Configuring Ngnix
Create file for main server config:
sudo nano /etc/nginx/sites-available/grusher
And put it (with changing YOUR_IP in to you IP or domain)
server {
listen 80;
root /var/www/html;
server_name YOUR_IP;
charset utf-8;
#set buffer size
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
# We will be use main settings in /var/www/html/.nginx
include /var/www/html/.nginx;
}
Enabling config
sudo ln -s /etc/nginx/sites-available/grusher /etc/nginx/sites-enabled/grusher
Unlink default config
sudo unlink /etc/nginx/sites-enabled/default
Create Grusher Ngnix config file
sudo nano /var/www/html/.nginx
And put it
# Allow to upload filesmore then 8 mb
client_max_body_size 8M;
# Standart config for WinterCMS from official site
index index.php;
if ($request_uri ~* "^(.*/)index\.(?:php|html)$") {
return 301 $1;
}
location / {
rewrite ^/.*$ /index.php last;
}
location ~ ^/index.php {
include snippets/fastcgi-php.conf;
# USE OUR PHP SOCKET (we have 8.2)
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_read_timeout 1200;
proxy_read_timeout 1200;
}
location ~ ^/(.*\.(ac3|avi|bmp|bz2|css|cue|dat|doc|docx|dts|exe|flv|gif|gz|html|ico|img|iso|jpeg|jpg|js|mkv|mp3|mp4|mpeg|mpg|ogg|pdf|png|ppt|pptx|qt|rar|rm|swf|tar|tgz|txt|wav|xls|xlsx|zip|7z|svg|ttf|woff|woff2|eot))$ {
sendfile on;
access_log off;
expires max;
}
# Whitelist
## Let Winter handle if static file not exists
location ~ ^/favicon\.ico { try_files $uri /index.php; }
location ~ ^/sitemap\.xml { try_files $uri /index.php; }
location ~ ^/robots\.txt { try_files $uri /index.php; }
location ~ ^/humans\.txt { try_files $uri /index.php; }
location ~ ^/[0-9a-z]+.html { try_files $uri /index.php; }
location ~ ^/[0-9a-z]+.tar.gz {try_files $uri /index.php; }
## Let nginx return 404 if static file not exists
# grusher backups
location ~ ^/storage/app/gviabcua-backup { try_files $uri 404; }
location ~ ^/storage/app/uploads/gviabcua-backup { try_files $uri 404; }
#winter
location ~ ^/.well-known { try_files $uri 404; }
location ~ ^/storage/app/uploads/public { try_files $uri 404; }
location ~ ^/storage/app/media { try_files $uri 404; }
location ~ ^/storage/temp/public { try_files $uri 404; }
location ~ ^/storage/app/cropped { try_files $uri 404; }
location ~ ^/storage/app/rss { try_files $uri 404; }
location ~ ^/storage/app/collections { try_files $uri 404; }
location ~ ^/modules/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/themes/.*/assets { try_files $uri 404; }
location ~ ^/themes/.*/resources { try_files $uri 404; }
# Можно увімкнути стиснення (буває корисним але + до CPU)
gzip on;
gzip_disable "msie6";
gzip_types
application/atom+xml
application/javascript
text/javascript
application/json
application/ld+json
application/manifest+json
application/rss+xml
application/vnd.geo+json
font/ttf
application/x-font-ttf
application/vnd.ms-fontobject
application/font-woff
application/font-woff2
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/bmp
image/svg+xml
image/x-icon
text/cache-manifest
text/css
text/plain
text/vcard
text/vnd.rim.location.xloc
text/vnd.wap.wml
text/vtt
text/x-component
text/x-cross-domain-policy;
gzip_comp_level 6;
gzip_vary on;
gzip_static off;
gzip_proxied any;
Check config and reload ngnix
sudo nginx -t sudo systemctl reload nginx
No comments to display
No comments to display