1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

РЕШЕНИЕ Установка jimbot на сервер VDS

Тема в разделе "Справочная", создана пользователем cerber, 4 авг 2015.

  1. TopicStarter Overlay
    cerber

    cerber Местный инквизитор Команда форума

    Регистрация:
    25.02.11
    Сообщения:
    8.073
    Симпатии:
    2.779
    Баллы:
    575
    Пол:
    Мужской
    Адрес:
    АДА
    статьи конечно же есть,но все статьи разные,тут я расскажу на личном примере,что и как,и с обновленной информацией,есть некоторые хосты,которые предоставляют предустановленные java и mysql,тут я расскажу,как всё поставить,если у вас чистый сервер,на котором установлен только apache и так приступаем
    у нас имеется сервер,у нас имеется ip и данные доступа,подключаемся к серверу по ssh и начинаем
    проверяем работу апача,если он установлен,если нет,то вводим команду
    Код:
    sudo apt-get install apache2
    затем установим php командой
    Код:
    sudo apt-get install php5
    проверим правильность установки и в web каталоге создадим файлик с именем info.php
    Код:
    sudo touch /var/www/html/info.php
    со следующим содержимым
    PHP:
    <?php phpinfo(); ?>
    записываем всё командой
    Код:
     sudo nano /var/www/html/info.php
    в открывшемся редакторе пишем нашу строчку и сохраняем комбинацией клавиш crtl+O,и выходим ctrl+X,перезапускаем апач командой
    Код:
     sudo service apache2 restart
    и переходим в браузере по нашему IP нам должно выдать такую страничку
    Снимок экрана от 2015-08-04 15:04:08.png
    вроде работает,теперь переходим к установке mysql и phpmyadmin
    пишем в консоле команду
    Код:
    sudo apt-get install mysql-server mysql-client
    
    нам предложит ввести пароль от супераользователя,вводим его дважды
    на этом установку mysql можно считать оконченой
    далее устанавливаем phpmyadmin,вводим команду
    Код:
    sudo apt-get install phpmyadmin
    пакет загружается,и мы видим такую картину
    Выделение_001.png
    тут нам надо выбрать,какой web сервер использовать,так как у нас apache,то пробелом отмечаем его и жмём ввод....ожидаем окончания установки
    далее нас просит создать бд phpmyadmin,соглашаемся
    Выделение_002.png
    дважды вводим пароль суперпользователя
    Выделение_003.png
    ожидаем окончания установки и проверяем
    Снимок экрана от 2015-08-04 15:12:47.png
    как видим,работает,теперь приступаем к установке java
    для начала добавим репозиторий
    Код:
    sudo add-apt-repository ppa:webupd8team/java
    обновим список пакетов
    Код:
    sudo apt-get update
    и устанавливаем,предпочтительнее устанавливать более новую версию java
    Код:
    sudo apt-get install oracle-java8-installer
    во время устнавки нам придётся согласиться с лицензионным соглашением
    и подождать,пока загрузится и установится весь пакет
    вроде всё,теперь подключаемся по ftp к серверу,и загружаем бота в наш каталог
    и так,бот загружен,запускаем его,как обычно командой
    Код:
     java -jar name*.jar &
    символ & нужен для того,что бы бот остался висеть "в трее",и мы могли свободно отключиться от нашего сервера,но что делать,если сервер будет перезагружен???не очень то и удобно,для этого выполним следующее,
    возьмём скрипт
    Код:
    #! /bin/sh
    JAVA=/usr/bin/java
    JAR_HOME=/home/user/bot
    JAR=jImBot.jar
    PID=$JAR_HOME/bot.pid
    STATE=$JAR_HOME/state
    d_start() {
    if [ -f $PID ]; then
    PID_VALUE=`cat $PID`
    if [ ! -z "$PID_VALUE" ]; then
    PID_VALUE=`ps ax | grep $PID_VALUE | grep -v grep | awk '{print $1}'`
    if [ ! -z "$PID_VALUE" ]; then
    exit 1;
    fi
    fi
    fi
    PREV_DIR=`pwd`
    cd $JAR_HOME
    exec $JAVA -Xmx50m -jar $JAR &
    echo $! > $PID
    cd $PREV_DIR
    }
    d_stop() {
    if [ -f $PID ]; then
    PID_VALUE=`cat $PID`
    if [ ! -z "$PID_VALUE" ]; then
    PID_VALUE=`ps ax | grep $PID_VALUE | grep -v grep | awk '{print $1}'`
    if [ ! -z "$PID_VALUE" ]; then
    echo "Stop" > $STATE;
    WAIT_TIME=0
    while [ `ps ax | grep $PID_VALUE | grep -v grep | wc -l` -ne 0 -a "$WAIT_TIME" -lt 20 ]
    do
    sleep 1
    WAIT_TIME=$(expr $WAIT_TIME + 1)
    done
    if [ `ps ax | grep $PID_VALUE | grep -v grep | wc -l` -ne 0 ]; then
    kill -9 $PID_VALUE
    fi
    fi
    fi
    rm -f $PID
    fi
    }
    case "$1" in
    start)
    d_start
    ;;
    stop)
    d_stop
    ;;
    restart)
    d_stop
    d_start
    ;;
    *)
    echo "Usage: $0 {start|stop|restart}" >&2
    exit 1
    ;;
    esac
    exit 0
    
    поместим его в папочку с ботом и назовём
    start.sh
    Код:
    sudo touch /home/user/bot/start.sh
    и даём ему права на запуск и исполнение
    Код:
    chmod +x /home/user/bot/start.sh
    теперь добавим наш скрипт в автозагрузку
    создадим ещё один файлик и назовём его 1
    Код:
    sudo touch /home/user/bot/1
    со следующим содержимым
    PHP:
    */10 * * * * /home/user/bot/srart.sh start >/dev/null 2>&1
    * */23 * * * /home/user/bot/start.sh restart >/dev/null 2>&1
    в первой строчке указываем время,через которое бот запустится после рестартра сервера,в нашем примере это 10 минут,во второй,время,когда бот будет перезапускаться каждые 23 часа
    добавляем данные в автозагрузку
    Код:
    crontab /home/user/bot/1
    проверяем
    Код:
    crontab -l
    как видим,задание появилось,теперь запускаем бота
    переходим в дирректорию с ботом и пишем команду
    Код:
    ./start.sh start
    должен получится примерно такой лог
    Выделение_004.png
    далее переходим в админку по IP и настраиваем бота
    Снимок экрана от 2015-08-04 15:54:56.png
    статью написал cerber специально для форума WORLDJB.RU
    на основе статей Дмитрия Пролубниква
    1 и 2
    Diplomat, alex_xpert и StayLik3 нравится это.
  2. TopicStarter Overlay
    cerber

    cerber Местный инквизитор Команда форума

    Регистрация:
    25.02.11
    Сообщения:
    8.073
    Симпатии:
    2.779
    Баллы:
    575
    Пол:
    Мужской
    Адрес:
    АДА
    после выполнения операций в ubuntu 16.04 можем получить кучу ошибок в phpmyadmin,из-за более обновлённого php,устанавливается немного иначедля начала установим утилиту
    Код:
    sudo apt-get install tasksel
    затем ставим сам сервер
    Код:
    sudo tasksel install lamp-server
    для решения проблем выполняем команду
    Код:
    sudo apt-get install php-mbstring php7.0-mbstring php-gettext
    и перезапускаем web сервер
    Код:
    sudo service apache2 restart

Поделиться этой страницей