Полный список шагов настройки sed для разработчиков — различия между версиями
Pylnev (обсуждение | вклад) |
Shimansky (обсуждение | вклад) |
||
Строка 125: | Строка 125: | ||
</pre> | </pre> | ||
− | 4 | + | 4. sudo nano /etc/apache2/conf-available/security.conf |
− | |||
− | |||
<pre> | <pre> | ||
Строка 134: | Строка 132: | ||
</pre> | </pre> | ||
− | + | 5. sudo a2enmod rewrite | |
− | + | 6. sudo apt install php7.0 php-pear libapache2-mod-php7.0 <br> | |
− | |||
− | |||
('''для Ubuntu18.04''': sudo apt install php7.2 php-pear libapache2-mod-php7.2) | ('''для Ubuntu18.04''': sudo apt install php7.2 php-pear libapache2-mod-php7.2) | ||
− | + | 7. sudo apt-get install php7.0-curl php7.0-gd php7.0-ldap php7.0-pgsql php7.0-mbstring php7.0-zip php-apcu php-imagick php7.0-imap php7.0-intl php7.0-xmlrpc php7.0-soap php-xdebug <br> | |
('''для Ubuntu18.04''': sudo apt-get install php7.2-curl php7.2-gd php7.2-ldap php7.2-pgsql php7.2-mbstring php7.2-zip php-apcu php-imagick php7.2-imap php7.2-intl php7.2-xmlrpc php7.2-soap php-xdebug) | ('''для Ubuntu18.04''': sudo apt-get install php7.2-curl php7.2-gd php7.2-ldap php7.2-pgsql php7.2-mbstring php7.2-zip php-apcu php-imagick php7.2-imap php7.2-intl php7.2-xmlrpc php7.2-soap php-xdebug) | ||
− | + | 8. sudo nano /etc/apache2/ports.conf | |
<pre> | <pre> | ||
Listen 12080 | Listen 12080 | ||
</pre> | </pre> | ||
− | + | 9.1. sudo mkdir -p /var/www/sed | |
− | + | 9.2. sudo nano /etc/apache2/sites-available/sed.conf | |
<pre> | <pre> | ||
<VirtualHost *:12080> | <VirtualHost *:12080> | ||
Строка 164: | Строка 160: | ||
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet | ||
</pre> | </pre> | ||
− | + | 9.3 | |
<pre> | <pre> | ||
sudo ln -s /etc/apache2/sites-available/sed.conf /etc/apache2/sites-enabled/ | sudo ln -s /etc/apache2/sites-available/sed.conf /etc/apache2/sites-enabled/ | ||
Строка 170: | Строка 166: | ||
</pre> | </pre> | ||
− | + | 9.4 sudo nano /etc/hosts | |
<pre> | <pre> | ||
127.0.0.1 sed.local | 127.0.0.1 sed.local | ||
</pre> | </pre> | ||
− | + | 10. sudo apt-get install nginx | |
− | + | 11. | |
+ | <pre> | ||
+ | sudo service apache2 restart | ||
+ | sudo service nginx restart | ||
+ | </pre> | ||
− | + | 12. sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak | |
− | + | 13. sudo nano /etc/nginx/nginx.conf | |
<pre> | <pre> | ||
user www-data; | user www-data; | ||
Строка 256: | Строка 256: | ||
</pre> | </pre> | ||
− | + | 14. sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak | |
− | + | 15.1. sudo nano /etc/nginx/sites-available/sed | |
<pre> | <pre> | ||
Строка 363: | Строка 363: | ||
</pre> | </pre> | ||
− | + | 15.2. | |
<pre> | <pre> | ||
sudo ln -s /etc/nginx/sites-available/sed /etc/nginx/sites-enabled/ | sudo ln -s /etc/nginx/sites-available/sed /etc/nginx/sites-enabled/ | ||
Строка 370: | Строка 370: | ||
− | + | 16. sudo service nginx restart | |
− | + | 17. sudo apt-get install libapache2-mod-rpaf | |
− | + | 18. sudo apt-get install poppler-utils | |
− | + | 19. sudo apt-get install netpbm | |
− | + | 20.1. | |
<pre> | <pre> | ||
Строка 386: | Строка 386: | ||
sudo apt-get install postgresql-9.6 | sudo apt-get install postgresql-9.6 | ||
</pre> | </pre> | ||
+ | |||
+ | 20.2. sudo nano /etc/postgresql/9.6/main/postgresql.conf | ||
+ | |||
+ | <pre> | ||
+ | ssl = off | ||
+ | </pre> | ||
+ | |||
+ | 20.3. sudo service postgresql restart | ||
− | + | 21.1 sudo chown -R $USER:$USER /var/www/sed <br/> | |
− | + | скачать sed из репозитория в <code>/var/www/sed</code> | |
− | + | 22.2 | |
* скопировать с сервера файл <code>/cabinet/config.php</code> себе в проект в ту же директорию | * скопировать с сервера файл <code>/cabinet/config.php</code> себе в проект в ту же директорию | ||
* скопировать с сервера папку <code>/cfg-local</code> себе в проект | * скопировать с сервера папку <code>/cfg-local</code> себе в проект | ||
− | + | 22.3 | |
<pre> | <pre> | ||
sudo chown -R $USER:$USER /var/www/sed | sudo chown -R $USER:$USER /var/www/sed | ||
Строка 400: | Строка 408: | ||
</pre> | </pre> | ||
− | + | 22.4 | |
<pre> | <pre> | ||
sudo chown -R www-data:www-data /var/www/sed/cache | sudo chown -R www-data:www-data /var/www/sed/cache | ||
Строка 408: | Строка 416: | ||
</pre> | </pre> | ||
− | + | 22.5. в файле /cfg/db.ini изменить пути | |
<pre> | <pre> | ||
docfile_storage=/var/www/sed/storage/docfiles | docfile_storage=/var/www/sed/storage/docfiles | ||
Строка 414: | Строка 422: | ||
</pre> | </pre> | ||
− | + | 23. '''Настройка БД и постгреса.''' | |
− | + | 23.1 скопировать с сервера папку <code>/usr/share/postgresql/9.6/tsearch_data</code> себе на компьютер в ту же директорию | |
− | + | 23.2. сменить дефолтный пароль постгреса: | |
<pre> | <pre> | ||
а) sudo -u postgres psql postgres | а) sudo -u postgres psql postgres | ||
Строка 427: | Строка 435: | ||
</pre> | </pre> | ||
− | + | 23.3. Добавляем юзера 'www-data': | |
<pre> | <pre> | ||
а) sudo -u postgres psql postgres | а) sudo -u postgres psql postgres | ||
Строка 434: | Строка 442: | ||
</pre> | </pre> | ||
− | + | 23.4. Создаем БД: | |
<pre> | <pre> | ||
а) sudo -u postgres psql postgres | а) sudo -u postgres psql postgres | ||
Строка 442: | Строка 450: | ||
− | + | 23.5. на сервере сделать бэкап БД: | |
<code>pg_dump -h localhost -p 5432 -U postgres -F c -C -d edfs > ~/my-14-12-2018.edfs</code> (14-12-2018 - дата бэкапа) | <code>pg_dump -h localhost -p 5432 -U postgres -F c -C -d edfs > ~/my-14-12-2018.edfs</code> (14-12-2018 - дата бэкапа) | ||
− | + | 23.6. с сервера скопировать бэкап себе в <code>/home/$USER</code> | |
− | + | 23.7. <code>pg_restore -h localhost -p 5432 -U postgres -d edfs ~/my-14-12-2018.edfs</code> | |
− | + | 23.8. Сделаем pass единички: | |
<pre> | <pre> | ||
а) sudo -u postgres psql postgres | а) sudo -u postgres psql postgres | ||
Строка 458: | Строка 466: | ||
</pre> | </pre> | ||
− | + | 23.9. | |
<pre> | <pre> | ||
sudo service apache2 restart | sudo service apache2 restart |
Версия 17:05, 10 января 2019
Это защищенная страница!
1. sudo apt-get install apache2
2. sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
3. sudo nano /etc/apache2/apache2.conf
# The directory where shm and other runtime files will be stored. DefaultRuntimeDir ${APACHE_RUN_DIR} # PidFile: The file in which the server should record its process # identification number when it starts. # This needs to be set in /etc/apache2/envvars PidFile ${APACHE_PID_FILE} # Timeout: The number of seconds before receives and sends time out. Timeout 300 # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. KeepAlive On # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. MaxKeepAliveRequests 100 # KeepAliveTimeout: Number of seconds to wait for the next request from the same client on the same connection. KeepAliveTimeout 5 # These need to be set in /etc/apache2/envvars User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} # HostnameLookups: Log the names of clients or just their IP addresses e.g., www.apache.org (on) or 204.62.129.132 (off). # The default is off because it'd be overall better for the net if people had to knowingly turn this feature on, since enabling it means that # each client request will result in AT LEAST one lookup request to the nameserver. HostnameLookups Off # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a <VirtualHost> # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a <VirtualHost> # container, that host's errors will be logged there and not here. ErrorLog ${APACHE_LOG_DIR}/error.log # LogLevel: Control the severity of messages logged to the error_log. # Available values: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the log level for particular modules, e.g. # "LogLevel info ssl:warn" LogLevel warn # Include module configuration: IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf # Include list of ports to listen on Include ports.conf # Sets the default security model of the Apache2 HTTPD server. It does # not allow access to the root filesystem outside of /usr/share and /var/www. # The former is used by web applications packaged in Debian, # the latter may be used for local directories served by the web server. If # your system is serving content from a sub-directory in /srv you must allow # access here, or in any related virtual host. <Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share> AllowOverride None Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> # AccessFileName: The name of the file to look for in each directory # for additional configuration directives. See also the AllowOverride # directive. AccessFileName .htaccess # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. <FilesMatch "^\.ht"> Require all denied </FilesMatch> # # The following directives define some format nicknames for use with # a CustomLog directive. # # These deviate from the Common Log Format definitions in that they use %O # (the actual bytes sent including headers) instead of %b (the size of the # requested file), because the latter makes it impossible to detect partial # requests. # # Note that the use of %{X-Forwarded-For}i instead of %h is not recommended. # Use mod_remoteip instead. # LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %O" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent # Include of directories ignores editors' and dpkg's backup files, # see README.Debian for details. # Include generic snippets of statements IncludeOptional conf-enabled/*.conf # Include the virtual host configurations: IncludeOptional sites-enabled/*.conf # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
4. sudo nano /etc/apache2/conf-available/security.conf
ServerTokens Prod ServerSignature Off
5. sudo a2enmod rewrite
6. sudo apt install php7.0 php-pear libapache2-mod-php7.0
(для Ubuntu18.04: sudo apt install php7.2 php-pear libapache2-mod-php7.2)
7. sudo apt-get install php7.0-curl php7.0-gd php7.0-ldap php7.0-pgsql php7.0-mbstring php7.0-zip php-apcu php-imagick php7.0-imap php7.0-intl php7.0-xmlrpc php7.0-soap php-xdebug
(для Ubuntu18.04: sudo apt-get install php7.2-curl php7.2-gd php7.2-ldap php7.2-pgsql php7.2-mbstring php7.2-zip php-apcu php-imagick php7.2-imap php7.2-intl php7.2-xmlrpc php7.2-soap php-xdebug)
8. sudo nano /etc/apache2/ports.conf
Listen 12080
9.1. sudo mkdir -p /var/www/sed
9.2. sudo nano /etc/apache2/sites-available/sed.conf
<VirtualHost *:12080> ServerName sed.local ServerAdmin webmaster@localhost DocumentRoot /var/www/sed ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
9.3
sudo ln -s /etc/apache2/sites-available/sed.conf /etc/apache2/sites-enabled/ sudo rm /etc/apache2/sites-enabled/000-default.conf
9.4 sudo nano /etc/hosts
127.0.0.1 sed.local
10. sudo apt-get install nginx
11.
sudo service apache2 restart sudo service nginx restart
12. sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
13. sudo nano /etc/nginx/nginx.conf
user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; client_max_body_size 500m; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ## # nginx-naxsi config ## # Uncomment it if you installed nginx-naxsi ## #include /etc/nginx/naxsi_core.rules; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
14. sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
15.1. sudo nano /etc/nginx/sites-available/sed
upstream php { server 127.0.0.1:12080; } server { listen 80 default_server; #listen [::]:80 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; server_name sed.local; root /var/www/sed; # Add index.php to the list if you are using PHP index index.php index.html; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules; add_header prc f; } location ^~ /svn/ { proxy_pass http://php; } # location ^~ /moodle/ { # proxy_pass http://php; # } location ~ \.php$ { proxy_pass http://php; add_header prc ppe; } location ~ \.php\.t$ { proxy_pass http://php; add_header prc pte; } location = / { proxy_pass http://php; add_header prc pi; } location ~ /[^/.]+$ { if ( -f $request_filename.php ) { proxy_pass http://php; } if ( -f $request_filename.php.t ) { proxy_pass http://php; add_header prc pt; } } location ^~ /gen/ { proxy_pass http://php; } location ^~ /file/ { proxy_pass http://php; } location ~ ^/(?:\.|cfg|az/cfg-sample) { deny all; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # include snippets/fastcgi-php.conf; # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: # fastcgi_pass unix:/var/run/php5-fpm.sock; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
15.2.
sudo ln -s /etc/nginx/sites-available/sed /etc/nginx/sites-enabled/ sudo rm /etc/nginx/sites-enabled/default
16. sudo service nginx restart
17. sudo apt-get install libapache2-mod-rpaf
18. sudo apt-get install poppler-utils
19. sudo apt-get install netpbm
20.1.
sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -sc)-pgdg main" wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get install postgresql-9.6
20.2. sudo nano /etc/postgresql/9.6/main/postgresql.conf
ssl = off
20.3. sudo service postgresql restart
21.1 sudo chown -R $USER:$USER /var/www/sed
скачать sed из репозитория в /var/www/sed
22.2
- скопировать с сервера файл
/cabinet/config.php
себе в проект в ту же директорию - скопировать с сервера папку
/cfg-local
себе в проект
22.3
sudo chown -R $USER:$USER /var/www/sed sudo chmod -R 755 /var/www/sed
22.4
sudo chown -R www-data:www-data /var/www/sed/cache sudo chown -R www-data:www-data /var/www/sed/storage sudo chmod -R 777 /var/www/sed/cache sudo chmod -R 777 /var/www/sed/storage
22.5. в файле /cfg/db.ini изменить пути
docfile_storage=/var/www/sed/storage/docfiles storagedir = /var/www/sed/storage
23. Настройка БД и постгреса.
23.1 скопировать с сервера папку /usr/share/postgresql/9.6/tsearch_data
себе на компьютер в ту же директорию
23.2. сменить дефолтный пароль постгреса:
а) sudo -u postgres psql postgres б) \password postgres в) Ввести пароль ЕДИНИЧКУ (1) г) Повторить пароль д) \q
23.3. Добавляем юзера 'www-data':
а) sudo -u postgres psql postgres б) CREATE USER "www-data" WITH PASSWORD 'pass'; в) \q
23.4. Создаем БД:
а) sudo -u postgres psql postgres б) CREATE DATABASE edfs OWNER "www-data"; в) \q
23.5. на сервере сделать бэкап БД:
pg_dump -h localhost -p 5432 -U postgres -F c -C -d edfs > ~/my-14-12-2018.edfs
(14-12-2018 - дата бэкапа)
23.6. с сервера скопировать бэкап себе в /home/$USER
23.7. pg_restore -h localhost -p 5432 -U postgres -d edfs ~/my-14-12-2018.edfs
23.8. Сделаем pass единички:
а) sudo -u postgres psql postgres б) \c edfs в) UPDATE public.users SET pass = 1; г) \q
23.9.
sudo service apache2 restart sudo service nginx restart sudo service postgresql restart