Как установить Anchor CMS на CentOS 7 LAMP VPS
Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.
Firefox Sync - это функция синхронизации браузера, которая позволяет вам обмениваться данными и настройками (такими как закладки, история, пароли, открытые вкладки и установленные надстройки) на всех ваших устройствах. Mozilla также предлагает приложение «сервер синхронизации» для использования с Firefox Sync для пользователей и предприятий, которые предпочитают размещать свои собственные данные синхронизации. В этой статье рассказывается, как настроить Mozilla Sync Server.
Обновите систему:
sudo yum check-update
Для сборки и запуска Sync Server вам необходимо установить следующие пакеты:
Mecurial
sqlite3
git
Python 2.6.6
Python 2.6.6 virtualenv
Python 2.6.6 SetupTools
Python 2.6.6 Developer Tools
Установите последнюю версию Mercurial:
sudo yum install mercurial
Установите необходимые средства разработки и библиотеки:
yum groupinstall 'Development Tools' 'Development Libraries'
yum install tk-devel libjpeg-devel mysql-devel python-devel httpd-devel zlib-devel bzip2-devel
Установите SQLite3:
sudo yum install sqlite
Установите и соберите Python 2.6.6:
cd $home
sudo wget http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz
sudo tar xzvf Python-2.6.6.tgz
cd $home/Python-2.6.6
sudo ./configure --prefix=/opt/python2.6 --enable-thread --enable-shared --enable-unicode=ucs4
sudo make
sudo make install
Мы клонируем Git-репозиторий сервера синхронизации и затем войдем в папку:
git clone https://github.com/mozilla-services/syncserver
cd syncserver
Запустите команду сборки, которая загрузит зависимости и скомпилирует код:
make build
Запустите сервер синхронизации и убедитесь, что он работает правильно:
bin/paster serve development.ini
Вы увидите что-то вроде этого:
Starting server in PID 5952.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000
Конфигурация сервера синхронизации очень проста, в файле конфигурации нужно изменить только несколько параметров ( ./syncserver.ini
).
Откройте файл конфигурации в вашем любимом текстовом редакторе (например nano ./syncserver.ini
).
[server:main]
use = egg:gunicorn
host = 0.0.0.0
port = 5000
workers = 1
timeout = 30
[app:main]
use = egg:syncserver
[syncserver]
# This must be edited to point to the public URL of your server,
# i.e. the URL as seen by Firefox.
public_url = http://localhost:5000/
# This defines the database in which to store all server data.
#sqluri = sqlite:////tmp/syncserver.db
# This is a secret key used for signing authentication tokens.
# It should be long and randomly-generated.
# The following command will give a suitable value on *nix systems:
#
# head -c 20 /dev/urandom | sha1sum
#
# If not specified then the server will generate a temporary one at startup.
#secret = INSERT_SECRET_KEY_HERE
# Set this to "false" to disable new-user signups on the server.
# Only request by existing accounts will be honoured.
# allow_new_users = false
# Set this to "true" to work around a mismatch between public_url and
# the application URL as seen by python, which can happen in certain reverse-
# proxy hosting setups. It will overwrite the WSGI environ dict with the
# details from public_url. This could have security implications if e.g.
# you tell the app that it's on HTTPS but it's really on HTTP, so it should
# only be used as a last resort and after careful checking of server config.
force_wsgi_environ = false
[browserid]
# Uncomment and edit the following to use a local BrowserID verifier
# rather than posting assertions to the mozilla-hosted verifier.
# Audiences should be set to your public_url without a trailing slash.
#backend = tokenserver.verifiers.LocalVerifier
#audiences = https://localhost:5000
# By default, syncserver will accept identity assertions issues by
# any server. You can restrict this by setting the below to a list
# of allowed issuer domains.
#allowed_issuers = www.mysite.com myfriendsdomain.org
Адрес вашего сервера должен быть указан через параметр public_url
:
public_url = http://fsync.example.com
Примечание : значение по умолчанию public_url
, http://localhost:5000/
будет работать для целей тестирования на локальном компьютере.
Мы раскомментируем sqluri
опцию и введем местоположение, или URI
, что позволит серверу подключиться к базе данных и сохранить ее информацию:
sqluri = sqlite:////path/to/database/file.db
Если вы хотите использовать другой тип БД:
sqluri = pymysql://username:[email protected]/sync
Для secret
параметра нам потребуется сгенерировать секретный ключ для токенов аутентификации:
head -c 20 /dev/urandom | sha1sum
Раскомментируйте строку секретного параметра, а затем скопируйте / вставьте возвращенную строку в секретный параметр:
secret = db8a203aed5fe3e4594d4b75990acb76242efd35
Примечание . Если вы не введете ничего в этот параметр, сервер сгенерирует его, но он будет отличаться при каждом перезапуске сервера.
Раскомментируйте allow\_new\_users
параметр и настройте его так, true
чтобы наша учетная запись впервые подключалась к нашему серверу:
allow_new_users = true
Затем мы раскомментируем audiences
параметр и добавим то же самое, что и public_uri
параметр:
audiences = http://fsync.example.com
Наконец, просто добавьте следующую строку в конец вашего файла:
forwarded_allow_ips = *
Эта строка поможет вам избежать сообщений об ошибках и проблем с авторизацией.
Чтобы запустить сервер синхронизации, вы можете использовать одну из следующих команд:
./path/to/syncserver/local/bin/gunicorn --threads 4 --paste /path/to/syncserver/syncserver.ini &
Это позволяет вам выбрать местоположение файла конфигурации; а также поставить аргумент --threads 4
, который позволяет назначить больше мощности серверу синхронизации.
Чтобы запускать сервер каждый раз при загрузке вашего экземпляра, вы можете добавить следующую строку в ваш crontab, набрав crontab -e
команду:
@reboot ./path/to/syncserver/local/bin/gunicorn --paste /path/to/syncserver/syncserver.ini &
Вы можете использовать разные веб-серверы, совместимые с WSGI
протоколом. Например:
Nginx
с UWSGI.Apache
в сочетании с mod_wsgi.Для Nginx вы должны использовать встроенный прокси-сервер Nginx, как показано ниже:
server {
listen 80;
server_name fsync.example.com;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_read_timeout 120;
proxy_connect_timeout 10;
proxy_pass http://127.0.0.1:5000/;
}
}
Пользователи Nginx могут использовать только сокет WSGI.
Установить uWSGI
через Pip:
pip install uwsgi
Установите uWSGI
через скачивание исходного архива:
wget https://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar zxvf uwsgi-latest.tar.gz
cd <dir>
make
Примечание : после сборки у вас будет uwsgi
бинарный файл в текущем каталоге.
После установки запустите его со следующими параметрами:
uwsgi --plugins python27 --manage-script-name \
--mount /<location>=/path/to/syncserver/syncserver.wsgi \
--socket /path/to/uwsgi.sock
Затем используйте следующую конфигурацию Nginx:
location /<location>/ {
include uwsgi_params;
uwsgi_pass unix:/path/to/uwsgi.sock;
}
Установить mod_wsgi
:
apt-get install libapache2-mod-wsgi
Затем используйте следующий vhost:
<VirtualHost *:80>
ServerName sync.example.com
DocumentRoot /path/to/syncserver
WSGIProcessGroup sync
WSGIDaemonProcess sync user=sync group=sync processes=2 threads=25 python-path=/path/to/syncserver/local/lib/python2.7/site-packages/
WSGIPassAuthorization On
WSGIScriptAlias / /path/to/syncserver/syncserver.wsgi
CustomLog /var/log/apache2/sync.example.com-access.log combined
ErrorLog /var/log/apache2/sync.example.com-error.log
</VirtualHost>
После того, как сервер установлен и настроен, вы можете настроить клиент Firefox для настольного компьютера на связь с вашим новым сервером синхронизации. Прежде чем начать, если вы уже подключены к серверам синхронизации Firefox, вы должны выйти из системы. В противном случае соединение с новым сервером может не работать.
Сначала откройте новую вкладку и введите следующий адрес:
about:config
В строке поиска введите identity.sync.tokenserver.uri
и измените ее значение на URL вашего сервера с путем token/1.0/sync/1.5
:
http://sync.example.com/token/1.0/sync/1.5
Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.
При настройке нового сервера Linux рекомендуется обновить ядро системы и другие пакеты до последней стабильной версии. В этой статье
Используете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам
Если вы хотите разместить свой инвентарь в Интернете или просто магазин технических аксессуаров, Magento - отличное решение для электронной коммерции в Интернете. Это статья
Используете другую систему? AirSonic - это бесплатный и потоковый сервер с открытым исходным кодом. В этом уроке я проведу вас через процесс развертывания
OrangeScrum - это бесплатный инструмент управления проектами с открытым исходным кодом, который широко используется в малом и среднем бизнесе. В этой статье я проведу вас через
OrientDB - это мультимодельная СУБД NoSQL с открытым исходным кодом нового поколения. Благодаря поддержке нескольких моделей данных OrientDB может обеспечить большую функциональность и гибкость в
Vtiger CRM - это популярное приложение для управления взаимоотношениями с клиентами, которое может помочь предприятиям увеличить продажи, обеспечить обслуживание клиентов и увеличить прибыль. я
MaraDNS - это легкая, но надежная программа с открытым исходным кодом для DNS-сервера. По сравнению с другими приложениями того же типа, такими как ISC BIND, PowerDNS и djbdns
Используете другую систему? Netdata - восходящая звезда в области мониторинга показателей системы в режиме реального времени. По сравнению с другими инструментами того же рода, Netdata:
Используете другую систему? В этом уроке я расскажу, как настроить сервер Starbound в CentOS 7. Предварительные условия Вы должны иметь эту игру на себе
RabbitMQ - это брокер сообщений с открытым исходным кодом, который поддерживает AMQP, STOMP и другие коммуникационные технологии. Широко используется в корпоративных приложениях
Добро пожаловать в другой учебник Vultr. Здесь вы узнаете, как установить и запустить сервер SAMP. Это руководство было написано для CentOS 6. Предварительные условия
Используете другую систему? Elgg - это движок социальных сетей с открытым исходным кодом, который позволяет создавать социальные среды, такие как социальные сети кампуса и
Bolt - это CMS с открытым исходным кодом, написанная на PHP. Исходный код Bolts размещен на GitHub. Это руководство покажет вам, как установить Bolt CMS на новую CentOS 7 Vult.
Традиционные подходы к анализу данных невозможно использовать, когда наборы данных достигают определенного размера. Современная альтернатива анализу огромных массивов данных, которые я
Elasticsearch - популярный движок полнотекстового поиска и аналитики с открытым исходным кодом. Благодаря своей универсальности, масштабируемости и простоте использования, Elasticsearch широко используется
Обзор Эта статья призвана помочь вам в кратчайшие сроки запустить и запустить кластер Kubernetes с помощью kubeadm. Это руководство будет развертывать два сервера, на
Используете другую систему? Введение Sails.js - это инфраструктура MVC для Node.js, аналогичная Ruby on Rails. Это делает для разработки современных приложений вер
Введение В этом руководстве мы будем устанавливать PufferPanel на нашем Vultr VPS. PufferPanel - это бесплатная панель управления с открытым исходным кодом для управления вами.
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше