LINUX.ORG.RU

Сообщения dopedopedope

 

apt-get update && apt-get upgrade. Может ли все сломаться с обновлениями?

Форум — Admin

Периодически я захожу на сервак удаленно и обновляю его. Может ли все сломаться после обновлений?

Где-то копчиком я чувствую, что проблемы могут возникнуть. Но как тогда быть? Как же безопасность?

 

dopedopedope
()

Проблема с перезапуском сервиса скриптом не от рутового пользователя

Форум — Admin

Есть система, которая по событиям запускает скрипты. Она работает не от рута. Там свой пользователь для этого есть.

Написал скрипт. В нем передергиваю сервис:

service someservice restart

Но сервис этот просто так передергиваться не хочет. Проблема в том, что скрипт запускается от обычного пользователя, имею сообщение:

This program can only be used by the root user.

Как мне решить проблему c этим скриптом? Если я там пишу sudo su, скрипт встает и ждет ввода пароля.

Мне тут посоветовали такое решение: создать задачу в кроне рута, которая будет проверять каждые n минут, появился ли файл х, и если он появился передергивать сервис. И соответственно переписать мой скрипт так, чтобы он создавал файл х. Как-то так.

Мне это решение кажется костылем? Или так и нужно делать?

Есть ли более элегантные решения этой проблемы? Спасибо.

 , ,

dopedopedope
()

Где хостится сайт. Хуииииис?

Форум — Admin

Нужно понять, Где хостится сайт? У какого хостера?

Да, я слышал о хуис.

А есть ли еще тулзы, способы, трюки?

 , ,

dopedopedope
()

Разница между git pull и delete+download from github

Форум — Development

Предыстория. Есть каталог, в который я доставляю непрерывно (делаю continuous delivery). Есть два варианта сложить туда файлы:

  • Вариант первый: Я удаляю все старые файлы из него и кладу свежескачанные из репозитория git.
  • Второй вариант: git pull в эту папку.

Я консультировался с разработчиком и получил ответ такого плана: вместо удаления ты хочешь/нужно/(надеюсь ты имелл ввиду) git pull. Это важно т.к. там лежат некие конфигурационные файлы, которые не лежат в github. И если мы удалим все файлы, то нам надо будет сохранять эти файлы где-то еще и копировать их в папку deploy прежде чем будет запускаться скрипт установки всей этой штуки.

Вопросы:

  • В чем разница между git pull и delete+download from github или технически это одно и то же?
  • Git pull - я так понимаю, это типа как сделать репликацию удаленного репозитория в локальный? Т.е. оно сделатся локально таким же как лежит удаленно на централизованном хранилище, засинхронизируется в одну сторону из удаленного в локальное, правильно? Или. Стянет из удаленного в локального новые файлы и добавит их, обновит до новых версий существующие файлы, удалит локально файлы, если в удаленном их удалили, при этом останутся файлы файлы, которые доложили руками (например, файлы о которых мне говорил разработчик).

 ,

dopedopedope
()

Как фронтенд общается с бэкендом?

Форум — Development

Господа, я дятел и тупой нуб. Но я все же хочу понять принцип работы.

Есть git репо, в нем лежит «frontend». Там я вижу: bootstrap (я знаю четакое, красивости) + css (тоже) и js, jquery файлы тоже есть.

Есть еще репо с «rest» (backend?). Там вроде как django. Но мне это не важно сейчас.

Когда я захожу браузером на страницу фроненд я вижу форму авторизации.

Вопросы: 1. Как фронтенд общается с бекендом? 2. Как мои данные, вбитые в форму регистрации передаются в бекенд и в базу? Это делается с помощью js? 3. Что такое rest?

 , , ,

dopedopedope
()

Nginx. Переименовываем link а на бекэнд отдаем исходный линк.

Форум — Admin

Бекендом стоит нод и слушает. Я переписываю адрес в адресной строке, при этом мне нужно, чтобы в нод шел редирект исходного линка. Сейчас у меня ничего не работает. Судя по всему переписанный линк отдается на бекэнд. Как лечить?

server {
    listen 80;
    server_name somesite.com;
    access_log /var/log/nginx/ghost.log;
    error_log /var/log/nginx/ghost.error.log;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:2368;
        proxy_redirect off;
    }


    location /stuff- {
        rewrite ^/stuff-(.*) http://$server_name/stuff/$1 permanent;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:2368;
        proxy_redirect off;
}


}

Мне нужно чтобы линк переписывался только в адресной строке броузера, а в бекенд отдавался исходный линк

 

dopedopedope
()

Nginx. Переписать линки в теле страницы при отдаче клиенту

Форум — Admin

Есть движок блога ghost, перед ним стоит nginx. В броузере видим в блоге кучу линков на статьи с дефисами "-".

Можно ли nginx научить, чтобы он перезаписывал все линки в странице html (именно в странице, и в строке адреса броузера тоже) которую он отдает пользователю? В частности, я хочу, чтобы все дефисы там менялись на прямые слеш «/». При этом запрос в ghost редиректился в исходном виде. В самом ghost ссылки я поменять не могу, поэтому пытаюсь извращаться с rewrite-ами в nginx.

Можно ли это сделать? Если можно, то как и чем?

 ,

dopedopedope
()

Rewrite Rules Nginx

Форум — Admin

Есть платформа для блогинга ghost, и она НЕ дает вставлять в качестве ссылки на статью символ «/». Поэтому, это нужно сделать rewrite-ами nginx.

Ссылка в браузере выглядит так:

http://blog.site.com/software-life-bla-bla-bla/
А нужно, чтобы выглядела так:
http://blog.site.com/software/life-bla-bla-bla/

Естественно, это должно применяться не для одного адреса, а для всех, которые начинаются со слова software.

http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html - это я видел и как-то не вразумел.

Где можно посмотреть примеры rewrit-ов для такого случая?

Вот конфиг блога:

server {
    listen 80;
    server_name blog.site.com;
    access_log /var/log/nginx/ghost.log;
    error_log /var/log/nginx/ghost.error.log;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:2368;
        proxy_redirect off;
    }
}

А вот крутая статья: http://blog.pixelastic.com/2013/09/27/understanding-nginx-location-blocks-rew...

Которая кажется решает мой вопрос.

 ,

dopedopedope
()

CI/CD системы. Чем делать deploy приложения Django.

Форум — Development

Нужно, чтобы система делала git pull и выкладывала все в папочку на сервере.

Я поставли go.cd и там настраивается все с помощью jobs. Но типы jobs там ant, nant или rake.

Я далек от разработки, но мне как-то это надо сделать. Куда копать? Спасибо.

 , ,

dopedopedope
()

Тестирование/сборка Django проектов

Форум — Development

1. На чем пишут тесты для Django проектов. 2. Нужна ли сборка. Это же готовый код, который нужно закинуть на сервер. 3. Как деплоить проекты на Django автоматически (например с go.cd)?

 , , ,

dopedopedope
()

Continious Delivery Software

Форум — Development

Привет, пацанчики. Пушу в ветку Development первый раз. Раньше все темы бомбил в ветку Admin, т.к. приходилось решать задачи, связанные с админкой. ПО я не пишу, поэтому в этом я полный ноль.

Работодатель захотел приватный gitlab сервер и go.cd. Я так понял, есть еще аналоги со схожим функционалом типа jenkins и teamcity. Все это я установил, запустил. Но вот засада встала c go continous delivery.

Я совсем ничего не знаю о циклах разработки ПО. О тестах (какие бывают, что делают), которые там должны гоняться. Об этапах разработки и тестирования и о инструментах. О том, как тесты пишутся и на чем.

Там вроде еще и автодеплой есть, когда код берется с gitlab, прогоняются тесты и все это выкладывается на боевой сервер.

Я не понимаю, как это continious delivery настраивать.

Вобщем мне бы советы, где толковые статьи есть почитать на эту тему.

Добавил чуть позже: Смотрите, в частности меня интересуют для приложений Django

Функционал «build» deployment

  • По build - вообще нужно какое-то время тратить на сборку/компилирование приложения или это вообще не нужно?
  • Как к этой херне тесты прикручивать?
  • Это вообще нормально Django проекты деплоить на такой штуке?

 ,

dopedopedope
()

Организовать доступ по sftp в /var/www/

Форум — Admin

Есть пользователь, который должен писать/читать в директорию

/var/www
и больше никуда. Чтобы все остальные папки даже не читались. Пользователь подключается к серверу по WinSCP.

Чем это лучше всего сделать? Чем это проще всего сделать?

 ,

dopedopedope
()

Nginx Virtualhosts. Вопрос по виртуальным хостам.

Форум — Admin

Есть блог ghost, вот его конфиг, лежащий в sites-enabled:

server {
    listen 0.0.0.0:80;
    server_name blog.company.com;
    access_log /var/log/nginx/ghost.log;
    error_log /var/log/nginx/ghost.error.log;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:2368;
        proxy_redirect off;
    }
}

И есть еще конфиг сайта со статическим контентом:


 

server 
{
    server_name company.com;
  
    access_log /var/log/nginx/company.com.access.log;
  
        error_log /var/log/nginx/company.com.error.log;
  
    root /var/www/company.com/public_html;
  
    index index.php index.html index.htm;
  
    # use fastcgi for all php files
    location ~ \.php$
    {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
  
    # deny access to apache .htaccess files
    location ~ /\.ht
    {
        deny all;
    }
} 

server
{
    server_name quip.company.com;
#rewrite ^/(.*) http://dev.quip.company.com/$1 permanent;

    access_log /var/log/nginx/quip.company.com.access.log;

        error_log /var/log/nginx/quip.company.com.error.log;

    root /var/www/company.com/public_html/quip;

    index index.php index.html index.htm;

    # use fastcgi for all php files
    location ~ \.php$
    {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # deny access to apache .htaccess files
    location ~ /\.ht
    {
        deny all;
    }
}

# statements for each of your virtual hosts to this file


##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

server {
	#listen   80; ## listen for ipv4; this line is default and implied
	#listen   [::]:80 default ipv6only=on; ## listen for ipv6

	root /usr/share/nginx/www;
	index index.html index.htm;

	# Make site accessible from http://localhost/
	server_name localhost;

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to index.html
		try_files $uri $uri/ /index.html;
		# Uncomment to enable naxsi on this location
		# include /etc/nginx/naxsi.rules
	}

	location /doc/ {
		alias /usr/share/doc/;
		autoindex on;
		allow 127.0.0.1;
		deny all;
	}

	# Only for nginx-naxsi : process denied requests
	#location /RequestDenied {
		# For example, return an error code
		#return 418;
	#}

	#error_page 404 /404.html;

	# redirect server error pages to the static page /50x.html
	#
	#error_page 500 502 503 504 /50x.html;
	#location = /50x.html {
	#	root /usr/share/nginx/www;
	#}

	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
	#
	#location ~ \.php$ {
	#	fastcgi_split_path_info ^(.+\.php)(/.+)$;
	#	# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
	#
	#	# With php5-cgi alone:
	#	fastcgi_pass 127.0.0.1:9000;
	#	# With php5-fpm:
	#	fastcgi_pass unix:/var/run/php5-fpm.sock;
	#	fastcgi_index index.php;
	#	include fastcgi_params;
	#}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	#location ~ /\.ht {
	#	deny all;
	#}
}

Все это висит на сервере с одним ip-адресом. Прямо сейчас, когда я перехожу на company.com, у меня открывается ghost блог, а адрес в строке адреса броузера: company.com т.е. то что должно открываться по адресу blog.company.com.

В общем, все правильно cделал вроде, а открывается неправильно.

 ,

dopedopedope
()

nginx и поддомены

Форум — Admin

Есть домен, скажем: coolcompany.com

Мне нужно сделать, например, так:

www.coolcompany.com
blog.coolcompany.com
shnyaga.coolcompany.com
Все вместе - три домена.

Вопросы: 1. Я так понимаю, это делается средствами nginx создаются виртуалхосты? 2. А что делать на уровне DNS-интернетов? Сейчас у меня одна запись, которая указывает:

ip -> coolcompany.com
Нужно ли тут добавлять записи типа:
ip- > blog.coolcompany.com
ip-> shnyaga.coolcompany.com
Есть сервер с единственным ip-адресом.

Где нужно подкручивать?

 , ,

dopedopedope
()

Вопрос по deploy Django + uWSGI

Форум — Development

Вопрос по deploy.

Допустим, есть проект, который разрабатывался в дирректории /root/project. И там лежат файлы с абсолютными путями. Например, в settings.py в кортеже template dirs прописаны абсолютные пути. В проекте есть папочки приложений, и с ними та же беда.

Теперь деплой. Допустим, я кладу копию проекта в дирректорию /var/www

Например, я настроил Nginx + uwsgi. Прикрутил к конфиги. Если в них я указываю, что проект лежит в root, то все нормально работает.

Если, говорю, что проект нужно искать в /var/www То имею кучу странных ошибок в логах.

Как с этим бороться?

 , ,

dopedopedope
()

nginx+uwsgi for django. Затык с файлом конфига Nginx

Форум — Admin
root@djbox:/var/www/djangoblog# cat djangoblog_nginx.conf
server {
    server_name .djbox;
    charset     utf-8;

    # max upload size
    client_max_body_size 75M;

    location /static {
        alias /var/www/djangoblog/;
        alias /var/www/djangoblog/article/;

    }

    location / {
        uwsgi_pass  127.0.0.1:5555;
        include     uwsgi_params;
    }
}



Есть блок location. Как его починить?

У меня есть статик файлы по обоим путям. Как nginx-у объяснить, чтобы он смотрел и там и там при обращении брозером в static.

Откуда есть все пошло. Пишу говнокод. Ваяю блог. Картинка с лайком лежит на сервере в /var/www/djangoblog/article/static;

Броузер картинку не отображает.

Вся остальная лабудеть с css лежит по другому пути.

Имею примерно такое ошибки в браузере:

Failed to load resource: the server responded with a status of 404 (Not Found)
http://djbox/static/like.png Failed to load resource: the server responded with a status of 404 (Not Found)
http://djbox/static/static/css/foundation.css Failed to load resource: the server responded with a status of 404 (Not Found)

 

dopedopedope
()

Не работает git ls-remote

Форум — Development

Я поставил go.cd и стал его настраивать. Проблема сошла к тому, что мене нужно от пользователя go забирать репозитории с gitlab или github по ssh.

Что делал:

sudo su go
ssh-keygen
ssh-add /var/go/.ssh/id_rsa

I couldn't initially add the key as ssh-agent wasn't running so I had to:

exec ssh-agent /bin/bash
ssh-add /var/go/.ssh/id_rsa
then, to get the public key
cat /var/go/.ssh/id_rsa.pub

- Это я добавил в Deploy keys на github/gitlab

Заряжаю команду в консоли вида:

git ls-remote ssh://git@server:port/user/test.git

fatal: failed to stat '.': Permission denied

 , ,

dopedopedope
()

GitLab + SSH Keys на нестандартном 22 порту. Как сказать гитбашу, чтобы он работал по другому порту?

Форум — Admin

Поставил gitlab. Там есть такое что, добавляешь свои публичный ключ на сервер и можно пушить и пулить проекты по ssh.

Толькоя я перевесил порт ssh на сервере на другой особый.

Теперь когда я пытаюсь добавить в git на тачке

git remote add origin git@server:user/test3.git

Git bash говорит fatal: Not a git repository (or any of the parent directories): .git

Короче как это все заставить работать по другому порту?

 , , ,

dopedopedope
()

Подружить go continious delivery и gitlab

Форум — Development

Поставил go.cd (go continious delivery) и gitlab. Как их подружить вместе? Посоветуйте, чего читать, куда смотреть. В общем, мне нужно как-то настроить, чтобы gocd получал уведомление, запускал бы build и деплоил из gitlab.

 ,

dopedopedope
()

Насколько безопасна установка Gitlab

Форум — Security

https://about.gitlab.com/downloads/

В интернетах куча писсаных на коленке инструкций, как все это установить и заставить работать из кусков.

На сайте есть пакет, который ставит все сам. Насколько это безопасно?

 

dopedopedope
()

RSS подписка на новые темы