Перенос сайта с linux на windows

Казалось бы, что сложного перенести сайт на другой сервер? Наверно многие из нас копировали свои первые хоумпейджи с хостинга на хостинг в поисках лучшего, еще у...

Перенос сайта(ов) без простоя и потери данных между выделенными серверами

Время прочтения
4 мин

Просмотры 36K

Казалось бы, что сложного перенести сайт на другой сервер? Наверно многие из нас копировали свои первые хоумпейджи с хостинга на хостинг в поисках лучшего, еще учась в школе или на первых курсах университета. Или вешая на уши лапши руководству, объясняли, что задача эта не решается мгновенно и сайт сутки работать не будет, ибо DNS такая штука…

Если в целом, ерундовая задача, правда? Но как сделать все идеально? Так, чтобы без простоев, чтобы не было расхождений в БД, чтобы не потерялись какие-нибудь файлики-аватарки-картинки, когда обновляется DNS запись IN A и у половины пользователей старый сайт, а у половины новый. А если это highload? Или сайт делало несколько поколений «лучших» программистов, считающих своим долгом создать новое подключение к БД в своем «модуле» для сайта. Наконец, если таких сайтов >10?

  • Скопировать файлы
  • Сделать дамб баз данных
  • Развернуть на новом сервере
  • На старом сервере заменить все коннекты к бд к новому
  • Настроить DNS

Сколько это займет времени? Сколько драгоценных минут сайт не будет работатьне будет работать правильно?

Почему-то я не нашел какой-либо статьи на хабре, поэтому решил написать несколько приемов, как можно перенести корявый проект или сразу несколько так, чтобы шеф был доволен стабильной работой сайта.

Все это актуально скорее для сайтов, написанных на РНР, для администраторов столкнувшихся с проектами, где не использовались фреймворки, cms и голова при написании кода.

1. Перенос файлов

Лучший способ через ssh при помощи rsync:

rsync -avz -e ssh логин@удалённый.хост:/путь/откуда/ /путь/куда/

Так rsync синхронизирует папки инкрементально, то есть копирует только то, чего не хватает и не тронет что-то новое. Например, можно написать небольшой bash скрипт, который будет синхронизировать все папки с старого сервера на новый в момент обновления DNS, но все же лучшим вариантом будет спустя пару суток синхронизировать папки с ключом -n (—dry-run) чтобы просто увидеть расхождения. Думаю в документации по rsync найдутся решения любых задач по синхронизации файлов. Программа должна быть установлена на оба сервера.

По протоколу FTP rsync работать не умеет, тогда используем lftp:

lftp -e 'mirror каталог-на-сервере локальный-каталог; bye;' -u логин:пароль@удалённый.хост
2. Перенос БД на примере MySQL

На обоих машинах открываем порт сервера MySQL в мир:

[mysqld]
...
bind-address            = * #127.0.0.1
...

Я напишу пример как я делаю бекапы каждый день, вырезка из logrotate.d:

#!/bin/bash
CMD="mysqldump --defaults-file=/root/my.cnf --no-create-info=FALSE --order-by-primary=FALSE --force=FALSE --no-data=FALSE --tz-utc=TRUE --flush-privileges=FALSE --compress=TRUE --replace=FALSE --host=localhost --insert-ignore=FALSE --extended-insert=TRUE --quote-names=TRUE --hex-blob=FALSE --complete-insert=FALSE --add-locks=TRUE --port=3306 --disable-keys=TRUE --delayed-insert=FALSE --create-options=TRUE --delete-master-logs=FALSE --comments=TRUE --default-character-set=utf8 --max_allowed_packet=1G --flush-logs=FALSE --dump-date=TRUE --lock-tables=TRUE --allow-keyw
ords=FALSE --events=FALSE --databases --routines"

for i in $(mysql --defaults-file=/root/my.cnf --batch --skip-column-names -e 'SHOW DATABASES' | grep -v '^information_schema$'); do
	if [ ! -e /srv/dumps/$i ]; then mkdir -m 700 /srv/dumps/$i; fi
		$CMD $i | gzip -c > /srv/dumps/$i/$i.sql.gz
done

/root/my.cnf

[client]
user = root
password = passw

Почему не классически «mysqldump -u root -p database > dump.sql»? Тогда не будут сохранены view и хранимые процедуры. Правильно делает дампы MySQL Workbench, оттуда я и взял эту команду.

Далее, в переменную $CMD добавляем -h ip_старый_сервер и меняем строчку $CMD $i | gzip -c > /srv/dumps/$i/$i.sql.gz на:

$CMD $i | mysql -u root -ppasswod $i

Конечно нужно предварительно создать все базы данных:

mysql --defaults-file=/root/my.cnf --batch --skip-column-names -e 'SHOW DATABASES' | grep -v '^information_schema$'

3. Перенаправление всех соединений к localhost:3306 — старый сервер на новый сервер

Довольно просто, используем ssh tunnel (предварительно остановив mysql):

ssh -Nf -L 3306:REMOTE_IP:3306 user@localhost

Причем ssh требуется только на локальной машине. Проверяем:

netstat -lnpt | grep 3306
telnet 127.0.0.1 3306

Получаем удаленный MySQL сервер на локальной машине. Все бы хорошо, но MySQL client если видит, что соединение идет к localhost то соединяется с сервером через локальный socket и никакие настройки его делать так отучить не могут. Т.е.

telnet localhost 3306

Или как обычно мы пишем в скриптах:

$resource = new mysqli('localhost', 'user', 'password');

Работать не будут, т.к. такое соединение тоже будет по обработано через локальный сокет. Конечно можно пробежаться по всем соединениям сайта и заменить localhost на 127.0.0.1 или внешний IP сервера, уже заработает, но есть способ лучше.

Нужно отредактировать в hex редакторе файлы:

libmysqlclient.so.15.0.0
libmysqlclient_r.so.15.0.0
или (зависит от версии mysql)
libmysqlclient.so.16.0.0
libmysqlclient_r.so.16.0.0

Найти единственное совпадение по тексту localhost и заменить на что-нибудь другое, вроде lacalhost, в обоих файлах. После локальные соединения будут работать через TCP/IP! Единственное MySQL не пускает юзеров у которых удаленный хост может быть только localhost в привилегиях. Это надо исправить на % во время переноса.

Пропустим настройки веб сервера, по этой теме полно материалов.
В итоге мы имеем две рабочие машины с одним сервером БД. Спокойно перенастраиваем DNS и идем спать!

p.s. Так же пришла в голову идея проксировать запросы со старого сервера на новый через nginx. Кто-нибудь делал так?

upd:
Так же я не претендую на лучшее решение, скорее ищу его. Что скажете?

0 / 0 / 0

Регистрация: 22.01.2013

Сообщений: 15

1

19.06.2013, 12:05. Показов 5643. Ответов 15


Здравствуйте, форумчане! Ситуация простая, но хотелось бы знать подводные камни.
Имеется 2 машины. На одной windows и апач, на второй linux и тоже апач.
На машине с windows лежит сайт, а база данных находится на машине с linux. Как безболезненно перенести сайт на машину с linux? Какие могут возникнуть проблемы?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



122 / 120 / 7

Регистрация: 21.04.2013

Сообщений: 615

19.06.2013, 13:35

2

Было кодировка полетела, но там не в юникоде все было.



0



0 / 0 / 0

Регистрация: 22.01.2013

Сообщений: 15

19.06.2013, 14:00

 [ТС]

3

А вы не подскажите, в какую директорию нужно кидать сайт? На виндоус он хранится в директории wwwroot/названиеСайта



0



Почетный модератор

7388 / 2634 / 281

Регистрация: 29.07.2006

Сообщений: 13,696

19.06.2013, 14:08

4

Цитата
Сообщение от johnsnow91
Посмотреть сообщение

А вы не подскажите, в какую директорию нужно кидать сайт?

У апача конфиги одного формата для любых ОС. Поэтому посмотри в конфиг на директорию по умолчанию. На разных линухах они различные. Поэтому на вопрос «куда кинуть» однозначно для всех дистрибутивов ответить нельзя. Сам смотри.

Цитата
Сообщение от johnsnow91
Посмотреть сообщение

На виндоус он хранится в директории wwwroot/названиеСайта

На виндоус она хранится там, где прописано в конфиге сервера.



1



0 / 0 / 0

Регистрация: 22.01.2013

Сообщений: 15

19.06.2013, 14:36

 [ТС]

5

Цитата
Сообщение от Vourhey
Посмотреть сообщение

У апача конфиги одного формата для любых ОС. Поэтому посмотри в конфиг на директорию по умолчанию. На разных линухах они различные. Поэтому на вопрос «куда кинуть» однозначно для всех дистрибутивов ответить нельзя. Сам смотри.

На виндоус она хранится там, где прописано в конфиге сервера.

А если на линукс-машине уже лежит страница и она умалчиваемая, можно ли как-то на сайт зайти, если он будет в той же директории?



0



Почетный модератор

7388 / 2634 / 281

Регистрация: 29.07.2006

Сообщений: 13,696

19.06.2013, 14:44

6

Цитата
Сообщение от johnsnow91
Посмотреть сообщение

А если на линукс-машине уже лежит страница и она умалчиваемая

Возникает ощущение, что ты не конфигурил апач ни разу. Это плохо.
Можно. Не забудь для php мод поставить апачу.



0



0 / 0 / 0

Регистрация: 22.01.2013

Сообщений: 15

19.06.2013, 15:25

 [ТС]

7

Цитата
Сообщение от Vourhey
Посмотреть сообщение

Возникает ощущение, что ты не конфигурил апач ни разу. Это плохо.
Можно. Не забудь для php мод поставить апачу.

Да, я конфигурировал апач только для одного сайта по инструкции давным давно, поэтому сложности возникают.
Дело в том, что там уже висит сайт, написанный на пхп, поэтому настройки для php есть. Нужно на этот же сервер второй сайт засунуть. Я поместил файлы сайта на линукс-сервер. ПОлучается следующая ситуация…
Есть 2 сервера:
1 — Windows server 2003
2 — Linux
Сайт находится в корне «1». База данных находится на «2».
Сайт лежит в папке «1»/имясайта. Когда в браузере пишем «1»/имясайта открывается сайт. Я перенес в корень «2» папку с сайтом, но когда в браузере пишу «2»/имясайта, появляется ошибка 500 Internal Server Error



0



Почетный модератор

7388 / 2634 / 281

Регистрация: 29.07.2006

Сообщений: 13,696

19.06.2013, 16:22

9

не установил мод rewrite, полагаю.



0



0 / 0 / 0

Регистрация: 22.01.2013

Сообщений: 15

19.06.2013, 16:40

 [ТС]

10

Цитата
Сообщение от Vourhey
Посмотреть сообщение

не установил мод rewrite, полагаю.

Не могу найти способа установки. Где-то пишут команду прописать надо a2enmod rewrite,но где её прописывать? В путти или командной строке просто? Или из какого каталога тогда? Если не трудно, расскажите как этот мод установить и запустить?



0



Почетный модератор

7388 / 2634 / 281

Регистрация: 29.07.2006

Сообщений: 13,696

19.06.2013, 18:15

11

На большинстве дистрибутивов можно поставить из репозитория через пакетный менеджер. Что у тебя на сервере?



0



0 / 0 / 0

Регистрация: 22.01.2013

Сообщений: 15

21.06.2013, 09:48

 [ТС]

12

Цитата
Сообщение от Vourhey
Посмотреть сообщение

На большинстве дистрибутивов можно поставить из репозитория через пакетный менеджер. Что у тебя на сервере?

Не знаю, это до меня ставили и настраивали всё, но точно не убунта и не дебиан, но с гномом.

Добавлено через 57 минут
/etc/apache2/ Такой папки нет вообще, а во всех найденных способах в ней надо работать.



0



Почетный модератор

7388 / 2634 / 281

Регистрация: 29.07.2006

Сообщений: 13,696

21.06.2013, 10:56

13

Цитата
Сообщение от johnsnow91
Посмотреть сообщение

Не знаю

Так cat /etc/issue

Цитата
Сообщение от johnsnow91
Посмотреть сообщение

/etc/apache2/ Такой папки нет вообще

Она не обязательно так называется. Тем более, ты, похоже, не знаешь, какой у тебя стоит апач. Папки остались в Windows. Здесь — директории. Можно быстро найти конфиги используя grep и find команды.



0



0 / 0 / 0

Регистрация: 22.01.2013

Сообщений: 15

21.06.2013, 11:24

 [ТС]

14

Всё заработало, когда я убрал файл .htaccess из папки с сайтом.

Добавлено через 16 минут
Поправка: не всё заработало, а только главная страница!



0



Почетный модератор

7388 / 2634 / 281

Регистрация: 29.07.2006

Сообщений: 13,696

21.06.2013, 11:52

15

Цитата
Сообщение от johnsnow91
Посмотреть сообщение

Всё заработало, когда я убрал файл .htaccess из папки с сайтом.

оно не заработало. Модуль у тебя не установлен. Ты просто убрал файл, который его использует. Это не решение проблемы, а простое убирание сообщения об ошибке.

Добавлено через 1 минуту

Цитата
Сообщение от johnsnow91
Посмотреть сообщение

Поправка: не всё заработало, а только главная страница!

Опять же прекрасно описана проблема/ Открой error-лог апача и прочитай там сообщение об ошибке.



0



0 / 0 / 0

Регистрация: 22.01.2013

Сообщений: 15

21.06.2013, 12:59

 [ТС]

16

Цитата
Сообщение от Vourhey
Посмотреть сообщение

оно не заработало. Модуль у тебя не установлен. Ты просто убрал файл, который его использует. Это не решение проблемы, а простое убирание сообщения об ошибке.

Добавлено через 1 минуту

Опять же прекрасно описана проблема/ Открой error-лог апача и прочитай там сообщение об ошибке.

Как установить модуль, если нет никаких даже похожих файлов из инструкций? Скорее всего, на сервере установлена ОС ASP LINUX 9, других на предприятии нет. Может там в других каталогах все эти файлы хранятся. К тому же, напоминаю, что там уже другой сайт установлен и мне желательно не убить его своими экспериментами.



0



Любой разработчик рано или поздно сталкивается с необходимостью переноса веб-проекта с одного сервера на другой. Это может быть связано как с развёртыванием локального сайта на удаленном сервере, так и с переносом рабочего сайта с одного сервера на другой (при смене хостинга), а также с переносом сайта на локальный компьютер для дальнейшего тестирования.

В этой заметке я расскажу как перенести сайт с одного сервера на другой. Приведенная ниже информация подходит для любых проектов и решает следующие типы задач:

  • Перенос сайта с локального сервера (Денвера, OpenServer, WAMP, LAMP и т.д.) на хостинг;
  • Как перенести сайт с хостинга на локальный сервер;
  • Как перенести сайт с одного сервера на другой.

Для наглядности я опишу процесс миграции на системе WordPress, которая обслуживает мой блог slicks.name, а если у Вас возникнут затруднения с переносом любой другой CMS ( к примеру PrestaShop, OpenCart и т.д.) — вы всегда вольны написать в комментариях, и я Вам помогу!

Немного теоретической подготовки.

Любой современный сайт состоит из двух основных компонентов:

  1. Файловая система;
  2. База данных.

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

Копирование файловой системы веб-сайта

Начнём с самого простого. Для переноса файлов сайта с сервера на локальную машину нам потребуется FTP клиент и учётная запись для доступа на сервер, либо Вы можете воспользоваться файловым менеджером внутри панели управления хостинга. А на локальном компьютере следует создать соответствующую папку под файлы сайта.

Лично я предпочитаю следующую структуру файлов у себя на ПК:

Все сайты у меня расположены по адресу /home/www-data/, для каждого веб-проекта я создаю папку с соответствующим названием, но без указания доменной зоны (для лаконичности названия папки). Для сайта slicks.name я создал папку с адресом /home/www-data/slicks/, а в  папке под конкретный сайт создаю следующую структуру:

  • public_html — для файловой системы сайта. На хостинге домены также расположены по аналогичной схеме (/domains/slicks.name/public_html);
  • back-up — в этой папке хранятся все резервные копии базы данных, а также архивы версий сайта;
  • source — как вы поняли из названия тут у меня различные исходники к веб-проекту (PSD макет шаблона, логотипы и так далее).

Всё, что от нас нужно — это скопировать содержимое из папки с файлами сайта в нашу локальную папку.

Маленький совет: если сайт большой и содержит множество файлов, имеет смысл сжать (сделать рез. копию) все файлы сайта в 1 архив через панель хостинга и затем загрузить этот файл. В противном случае, при загрузке через FTP клиент для каждого файла программа будет вынуждена открывать соединение, загружать файл, затем закрывать соединение, открывать его для загрузки следующего файла и так далее.

Создание резервной копии базы данных

Что касается резервного копирования базы данных, то существуют следующие способы реализации задачи:

  • Серверная консоль;
  • Панель хостинга;
  • phpMyAdmin;
  • специальные модули для CMS (Я в WordPress использую WordPress Database Backup для регулярного копирования БД).

Я остановлюсь на копировании через phpMyAdmin. Т.к. считаю этот способ наиболее простым, доступным и не требующим дополнительных затрат времени и усилий.

Заходим в phpMyAdmin по адресу, который вы легко можете найти в панели хостинга, а если же хотите перенести локальный сайт на хостинг, то скорее всего адрес у вас будет такой http://localhost/phpmyadmin/. PhpMyAdmin попросит логин и пароль для доступа к базе данных. Если пароль и логин вам не известны — их легко получить, зная какая CMS на сайте используется. Любой веб-проект, использующий Базу данных для хранения информации о статьях, товарах, комментариях и т.д. хранит у себя в файловой системе файл с конфигурацией для доступа к базе данных. В WordPress файл называется wp-config.php и  расположен в корне сайта, в PrestaSHop, к примеру, по адресу /config/settings.inc.php. Там мы и найдём наши поля DataBase User и Password, а также имя базы данных, которая содержит информацию о нашем сайте.

Заходим в phpMyAdmin, в списке баз данных (слева) нажимаем мышкой на нашу базу. И теперь кликаем EXPORT на панели вверху. Как писал ранее, я сохраняю копии баз данных в папке /home/www-data/slicks/back-up/.

Конфигурация файлов после копирования.

Если вы переносили сайт с одного хостинга на другой и при этом имя сайта не менялось, больше ничего делать не нужно. Смело меняйте NSы и всё будет работать. Но если Вы новичек и переносите сайт впервые в жизни — потренируйтесь с переносом на локальный сайт, а уже потом переносите с сервера на локалку, чтобы избежать проблем. Если же переносили сайт с локального на реальный сервер или наоборот, то читаем дальше.

Как правильно, локальному сайту присваивается имя в локальной доменной зоне. Скажем, я сайту slicks.name дал локальное имя slicks.lan. Это удобно тем, что во-первых, всегда видно какой сайт локальный, а какой реальный, а во-вторых нет конфликта, как если бы оба сайта и локальный, и реальный имели бы одинаковое доменное имя slicks.name. Но! Теперь чтобы всё работало, нам нужно немного магии :)

Редактирование файла базы данных

Для начала сделаем рез. копию БД, а новый файл пометим приставкой local. В «локальной» БД через автозамену меняем все вхождения доменного имени (у меня slicks.name) на локальное название сайта (slicks.lan). При переносе с виртуального на реальный хост делаем аналогично, но наоборот.

И в phpMyAdmin создаём БД с таким же именем, как имелась на сайте. затем импортируем наш измененный дамп базы данных. И самое важное, создаем в разделе privileges нового пользователя с аналогичным логином и паролем, как в вашем файле конфигурации.

Маленький совет: перед импортом файла БД сожмите его в ZIP архив. При импорте БД на другом сервере может возникнуть ошибка, если файл будет превышать максимальный размер файла для загрузки. У меня он установлен в 2,048KiB. При этом моя БД занимает 3,8 Мб, а в zip архиве всего 680 кб!

Ну вот и всё! Удачи!

Если сайт не запускается, смотрите на ошибку, которую он пишет. У меня потребовалось также подправить файл .htacces, поскольку в нём были установлены специальные правила от хостинга для защиты. Не убрав эти инструкции я получал ошибку 500. А также у меня там стояла защита от hotlink, и я через автозамену подправил все slicks.name на slicks.lan.

I am running a putty client on a Windows machine to connect successfully to a Linux box. Now I want to be able to copy a file from the Linux machine under the path /home/ubuntu/myfile to C:/Users/Anshul/Desktop on my local computer. The user at the Windows machine is anshul. I am giving the following command on putty but it is not working:

scp /home/ubuntu/myfile ip_address_of_windows_machine:C:/Users/Anshul/Desktop 

I think the path for the Windows machine is wrong. Please help as I have banged my head on a large number of forums but none seem to give correct path for Windows server. Don’t suggest alternate options like WinScp

Guy Avraham's user avatar

Guy Avraham

3,3623 gold badges40 silver badges49 bronze badges

asked Apr 19, 2012 at 19:56

user1344963's user avatar

5

This one worked for me.

scp /home/ubuntu/myfile username@IP_of_windows_machine:/C:/Users/Anshul/Desktop 

answered Mar 12, 2018 at 6:04

emoblazz's user avatar

emoblazzemoblazz

1,3211 gold badge6 silver badges3 bronze badges

6

Download pscp from Putty download page, then use it from Windows Command Line CMD as follows:

pscp username_linux_machine@ip_of_linux_machine:/home/ubuntu/myfile.ext C:UsersNameDownloads

Copying starts once you enter the password for the Linux machine.

ifnotak's user avatar

ifnotak

3,8673 gold badges21 silver badges35 bronze badges

answered Jun 8, 2016 at 20:49

Hesham Eraqi's user avatar

Hesham EraqiHesham Eraqi

2,4254 gold badges22 silver badges45 bronze badges

3

Try this, it really works.

$ scp username@from_host_ip:/home/ubuntu/myfile /cygdrive/c/Users/Anshul/Desktop

And for copying all files

$ scp -r username@from_host_ip:/home/ubuntu/ *. * /cygdrive/c/Users/Anshul/Desktop

fluffyBatman's user avatar

fluffyBatman

6,3543 gold badges22 silver badges24 bronze badges

answered Jun 10, 2014 at 11:57

Chris Alexander sebastian's user avatar

8

Access from Windows by Git Bash console (also works for CMD and PowerShell):

scp user@ip:/dir1/dir2/file "D:dir1dir2"

Wenfang Du's user avatar

Wenfang Du

7,3897 gold badges49 silver badges79 bronze badges

answered Jan 4, 2019 at 13:18

byteprom's user avatar

byteprombyteprom

4514 silver badges4 bronze badges

5

You could use something like the following

scp -r linux_username@linux_address:path/to/file path/to/local/directory

This will copy file to the specified local directory on the system you are currently working on.

The -r flag tells scp to recursively copy if the remote file is a directory.

answered Feb 16, 2015 at 23:58

Atif's user avatar

AtifAtif

3251 gold badge4 silver badges16 bronze badges

Windows doesn’t support SSH/SCP/SFTP natively. Are you running an SSH server application on that Windows server? If so, one of the configuration options is probably where the root is, and you would specify paths relative to that root. In any case, check the documentation for the SSH server application you are running in Windows.

Alternatively, use smbclient to push the file to a Windows share.

George's user avatar

George

6,5393 gold badges42 silver badges56 bronze badges

answered Apr 19, 2012 at 19:59

theglauber's user avatar

theglaubertheglauber

27.9k7 gold badges29 silver badges46 bronze badges

5

For all, who has installed GiT completly with «Git Bash»: You can just write:

scp login@ip_addres:/location/to/folders/file.tar .

(with space and DOT at the end to copy to current location). Than just add certificate (y), write password and that’s all.

answered Oct 3, 2017 at 12:31

Krzysztof Walczewski's user avatar

1

Your code isn’t working because c:/ or d:/ is totally wrong for linux just use /mnt/c or/mnt/c

From your local windows10-ubuntu bash use this command:

for download:
(from your remote server folder to d:/ubuntu) :

scp username@ipaddress:/folder/file.txt /mnt/d/ubuntu

Then type your remote server password if there is need.

for upload:
(from d:/ubuntu to remote server ) :

scp /mnt/d/ubuntu/file.txt username@ipaddress:/folder/file.txt 

Then type your remote server password if there is need.
note: I tested and it worked.

answered Feb 19, 2019 at 12:09

Baris Vvolf's user avatar

I had to use pscp like above Hesham’s post once I downloaded and installed putty. I did it to Windows from Linux on Windows so I entered the following:

c:ssl>pscp username@linuxserver:keenan/ssl/* .

This will copy everything in the keenan/ssl folder to the local folder (.) you performed this command from (c:ssl). The keenan/ssl will specify the home folder of the username user, for example the full path would be /home/username/keenan/ssl. You can specify a different folder using a forward slash (/), such as

c:ssl>pscp username@linuxserver:/home/username/keenan/ssl/* .

So you can specify any folder at the root of Linux using :/.

halfer's user avatar

halfer

19.7k17 gold badges95 silver badges183 bronze badges

answered Dec 14, 2018 at 12:47

Keenan Stewart's user avatar

To send a file from windows to linux system

scp path-to-file user@ipaddress:/path-to-destination

Example:

scp C:/Users/adarsh/Desktop/Document.txt root@127.0.0.1:/tmp

keep in mind that there need to use forward slash(/) inplace of backward slash() in for the file in windows path else it will show an error

C:UsersadarshDesktopDocument.txt: No such file or directory

.
After executing scp command you will ask for password of root user in linux machine.
There you GO…

To send a file from linux to windows system

scp -r user@ipaddress:/path-to-file path-to-destination

Example:

scp -r root@127.0.0.1:/tmp/Document.txt C:/Users/adarsh/Desktop/

and provide your linux password.
only one you have to add in this command is -r.
Thanks.

answered Mar 15, 2019 at 6:00

ADARSH K's user avatar

ADARSH KADARSH K

5967 silver badges20 bronze badges

Here is the solution to copy files from Linux to Windows using SCP without password by ssh:

  1. Install sshpass in Linux machine to skip password prompt

  2. Script

    sshpass -p 'xxxxxxx' scp /home/user1/*.* testuser@x.x.x.x:/d/test/

Details:

sshpass -p 'password' scp /source_path/*.* windowsusername@windowsMachine_ip:/destination_drive/subfolder/

serenesat's user avatar

serenesat

4,59110 gold badges35 silver badges53 bronze badges

answered Aug 28, 2015 at 12:47

Ramarajan Jothi's user avatar

As @Hesham Eraqi suggested, it worked for me in this way (transfering from Ubuntu to Windows (I tried to add a comment in that answer but because of reputation, I couldn’t)):

pscp -v -r -P 53670 user@xxx.xxx.xxx.xxx:/data/genetic_map/sample/P2_283/* \Desktop-mojbd3ndcc_01-1940_data

where:

-v: show verbose messages.
-r: copy directories recursively.
-P: connect to specified port.
53670: the port number to connect the Ubuntu server.
\Desktop-mojbd3ndgenetic_map_data: I needed to transfer to an external HDD, thus I had to give permissions of sharing to this device.

answered Jun 27, 2019 at 3:37

giannkas's user avatar

giannkasgiannkas

1683 silver badges14 bronze badges

Open bash window. Preferably git bash.
write

scp username@remote_ip:/directory_of_file/filename ‘windows_location_you_want_to_store_the_file’

Example:

Suppose your username is jewel

your IP is 176.35.96.32

your remote file location is /usr/local/forme

your filename is logs.zip

and you want to store in your windows PC’s D drive forme folder
then the command will be

scp jewel@176.35.96.32:/usr/local/forme/logs.zip ‘D:/forme’

**Keep the local file directory inside single quote.

answered Apr 7, 2019 at 6:02

Zenith's user avatar

ZenithZenith

9371 gold badge8 silver badges21 bronze badges

I know this is old but I was struggling with the same. I haven’t found a way to change directories, but if you just want to work with the C drive, scp defaults to C. To scp from Ubuntu to Windows, I ended up having to use (notice the double back-slashes):

scp /local/file/path user@111.11.11.111:Users\Anshul\Desktop

Hope this helps someone.

Racil Hilan's user avatar

Racil Hilan

24.3k13 gold badges49 silver badges52 bronze badges

answered Jul 29, 2016 at 0:35

Acmag's user avatar

AcmagAcmag

12 bronze badges

2

Try this:

scp /home/ubuntu/myfile C:usersAnshulDesktop

Pang's user avatar

Pang

9,344146 gold badges85 silver badges121 bronze badges

answered Jan 12, 2013 at 2:50

Corey Burnett's user avatar

Corey BurnettCorey Burnett

7,2629 gold badges54 silver badges92 bronze badges

1

If you want to copy paste files from Unix to Windows and Windows to Unix just use filezilla with port 22.

answered Sep 4, 2012 at 7:38

user1645422's user avatar

I am running a putty client on a Windows machine to connect successfully to a Linux box. Now I want to be able to copy a file from the Linux machine under the path /home/ubuntu/myfile to C:/Users/Anshul/Desktop on my local computer. The user at the Windows machine is anshul. I am giving the following command on putty but it is not working:

scp /home/ubuntu/myfile ip_address_of_windows_machine:C:/Users/Anshul/Desktop 

I think the path for the Windows machine is wrong. Please help as I have banged my head on a large number of forums but none seem to give correct path for Windows server. Don’t suggest alternate options like WinScp

Guy Avraham's user avatar

Guy Avraham

3,3623 gold badges40 silver badges49 bronze badges

asked Apr 19, 2012 at 19:56

user1344963's user avatar

5

This one worked for me.

scp /home/ubuntu/myfile username@IP_of_windows_machine:/C:/Users/Anshul/Desktop 

answered Mar 12, 2018 at 6:04

emoblazz's user avatar

emoblazzemoblazz

1,3211 gold badge6 silver badges3 bronze badges

6

Download pscp from Putty download page, then use it from Windows Command Line CMD as follows:

pscp username_linux_machine@ip_of_linux_machine:/home/ubuntu/myfile.ext C:UsersNameDownloads

Copying starts once you enter the password for the Linux machine.

ifnotak's user avatar

ifnotak

3,8673 gold badges21 silver badges35 bronze badges

answered Jun 8, 2016 at 20:49

Hesham Eraqi's user avatar

Hesham EraqiHesham Eraqi

2,4254 gold badges22 silver badges45 bronze badges

3

Try this, it really works.

$ scp username@from_host_ip:/home/ubuntu/myfile /cygdrive/c/Users/Anshul/Desktop

And for copying all files

$ scp -r username@from_host_ip:/home/ubuntu/ *. * /cygdrive/c/Users/Anshul/Desktop

fluffyBatman's user avatar

fluffyBatman

6,3543 gold badges22 silver badges24 bronze badges

answered Jun 10, 2014 at 11:57

Chris Alexander sebastian's user avatar

8

Access from Windows by Git Bash console (also works for CMD and PowerShell):

scp user@ip:/dir1/dir2/file "D:dir1dir2"

Wenfang Du's user avatar

Wenfang Du

7,3897 gold badges49 silver badges79 bronze badges

answered Jan 4, 2019 at 13:18

byteprom's user avatar

byteprombyteprom

4514 silver badges4 bronze badges

5

You could use something like the following

scp -r linux_username@linux_address:path/to/file path/to/local/directory

This will copy file to the specified local directory on the system you are currently working on.

The -r flag tells scp to recursively copy if the remote file is a directory.

answered Feb 16, 2015 at 23:58

Atif's user avatar

AtifAtif

3251 gold badge4 silver badges16 bronze badges

Windows doesn’t support SSH/SCP/SFTP natively. Are you running an SSH server application on that Windows server? If so, one of the configuration options is probably where the root is, and you would specify paths relative to that root. In any case, check the documentation for the SSH server application you are running in Windows.

Alternatively, use smbclient to push the file to a Windows share.

George's user avatar

George

6,5393 gold badges42 silver badges56 bronze badges

answered Apr 19, 2012 at 19:59

theglauber's user avatar

theglaubertheglauber

27.9k7 gold badges29 silver badges46 bronze badges

5

For all, who has installed GiT completly with «Git Bash»: You can just write:

scp login@ip_addres:/location/to/folders/file.tar .

(with space and DOT at the end to copy to current location). Than just add certificate (y), write password and that’s all.

answered Oct 3, 2017 at 12:31

Krzysztof Walczewski's user avatar

1

Your code isn’t working because c:/ or d:/ is totally wrong for linux just use /mnt/c or/mnt/c

From your local windows10-ubuntu bash use this command:

for download:
(from your remote server folder to d:/ubuntu) :

scp username@ipaddress:/folder/file.txt /mnt/d/ubuntu

Then type your remote server password if there is need.

for upload:
(from d:/ubuntu to remote server ) :

scp /mnt/d/ubuntu/file.txt username@ipaddress:/folder/file.txt 

Then type your remote server password if there is need.
note: I tested and it worked.

answered Feb 19, 2019 at 12:09

Baris Vvolf's user avatar

I had to use pscp like above Hesham’s post once I downloaded and installed putty. I did it to Windows from Linux on Windows so I entered the following:

c:ssl>pscp username@linuxserver:keenan/ssl/* .

This will copy everything in the keenan/ssl folder to the local folder (.) you performed this command from (c:ssl). The keenan/ssl will specify the home folder of the username user, for example the full path would be /home/username/keenan/ssl. You can specify a different folder using a forward slash (/), such as

c:ssl>pscp username@linuxserver:/home/username/keenan/ssl/* .

So you can specify any folder at the root of Linux using :/.

halfer's user avatar

halfer

19.7k17 gold badges95 silver badges183 bronze badges

answered Dec 14, 2018 at 12:47

Keenan Stewart's user avatar

To send a file from windows to linux system

scp path-to-file user@ipaddress:/path-to-destination

Example:

scp C:/Users/adarsh/Desktop/Document.txt root@127.0.0.1:/tmp

keep in mind that there need to use forward slash(/) inplace of backward slash() in for the file in windows path else it will show an error

C:UsersadarshDesktopDocument.txt: No such file or directory

.
After executing scp command you will ask for password of root user in linux machine.
There you GO…

To send a file from linux to windows system

scp -r user@ipaddress:/path-to-file path-to-destination

Example:

scp -r root@127.0.0.1:/tmp/Document.txt C:/Users/adarsh/Desktop/

and provide your linux password.
only one you have to add in this command is -r.
Thanks.

answered Mar 15, 2019 at 6:00

ADARSH K's user avatar

ADARSH KADARSH K

5967 silver badges20 bronze badges

Here is the solution to copy files from Linux to Windows using SCP without password by ssh:

  1. Install sshpass in Linux machine to skip password prompt

  2. Script

    sshpass -p 'xxxxxxx' scp /home/user1/*.* testuser@x.x.x.x:/d/test/

Details:

sshpass -p 'password' scp /source_path/*.* windowsusername@windowsMachine_ip:/destination_drive/subfolder/

serenesat's user avatar

serenesat

4,59110 gold badges35 silver badges53 bronze badges

answered Aug 28, 2015 at 12:47

Ramarajan Jothi's user avatar

As @Hesham Eraqi suggested, it worked for me in this way (transfering from Ubuntu to Windows (I tried to add a comment in that answer but because of reputation, I couldn’t)):

pscp -v -r -P 53670 user@xxx.xxx.xxx.xxx:/data/genetic_map/sample/P2_283/* \Desktop-mojbd3ndcc_01-1940_data

where:

-v: show verbose messages.
-r: copy directories recursively.
-P: connect to specified port.
53670: the port number to connect the Ubuntu server.
\Desktop-mojbd3ndgenetic_map_data: I needed to transfer to an external HDD, thus I had to give permissions of sharing to this device.

answered Jun 27, 2019 at 3:37

giannkas's user avatar

giannkasgiannkas

1683 silver badges14 bronze badges

Open bash window. Preferably git bash.
write

scp username@remote_ip:/directory_of_file/filename ‘windows_location_you_want_to_store_the_file’

Example:

Suppose your username is jewel

your IP is 176.35.96.32

your remote file location is /usr/local/forme

your filename is logs.zip

and you want to store in your windows PC’s D drive forme folder
then the command will be

scp jewel@176.35.96.32:/usr/local/forme/logs.zip ‘D:/forme’

**Keep the local file directory inside single quote.

answered Apr 7, 2019 at 6:02

Zenith's user avatar

ZenithZenith

9371 gold badge8 silver badges21 bronze badges

I know this is old but I was struggling with the same. I haven’t found a way to change directories, but if you just want to work with the C drive, scp defaults to C. To scp from Ubuntu to Windows, I ended up having to use (notice the double back-slashes):

scp /local/file/path user@111.11.11.111:Users\Anshul\Desktop

Hope this helps someone.

Racil Hilan's user avatar

Racil Hilan

24.3k13 gold badges49 silver badges52 bronze badges

answered Jul 29, 2016 at 0:35

Acmag's user avatar

AcmagAcmag

12 bronze badges

2

Try this:

scp /home/ubuntu/myfile C:usersAnshulDesktop

Pang's user avatar

Pang

9,344146 gold badges85 silver badges121 bronze badges

answered Jan 12, 2013 at 2:50

Corey Burnett's user avatar

Corey BurnettCorey Burnett

7,2629 gold badges54 silver badges92 bronze badges

1

If you want to copy paste files from Unix to Windows and Windows to Unix just use filezilla with port 22.

answered Sep 4, 2012 at 7:38

user1645422's user avatar

В статье мы расскажем, как копировать файлы в Windows и Linux-системах, и покажем основные команды, с помощью которых происходит передача файлов по SSH.

Для копирования файлов по SSH в Linux-системах и Windows используют разные инструменты:

  • scp (Secure CoPy) — утилита для безопасного копирования данных между Linux-системами по протоколу SSH. Она входит в состав OpenSSH, поэтому для работы с утилитой не нужно устанавливать дополнительное ПО;
  • pscp.exe — утилита для загрузки файлов по SSH в ОС Windows. Она обладает теми же возможностями, что и scp. Утилита входит в состав программы Putty — SSH-клиента для Windows. Скачать программу можно по ссылке.

Обратите внимание

Если файл, который вы хотите скопировать, уже существует на целевом хосте, при копировании он будет перезаписан.

Копирование файлов по SSH на Linux

Для Linux копирование файлов по SSH происходит с использованием команды scp. С её помощью можно копировать файлы:

  • с локального компьютера на удалённый сервер,
  • с удалённого сервера на локальный компьютер,
  • с одного удалённого сервера на другой.

Общий вид команды:

scp [опция] [источник] [получатель]

Обратите внимание

Для подключения к удалённому серверу вам понадобится логин и пароль пользователя.

Как скопировать файл по SSH с локальной машины на удалённый сервер

Как загрузить файл на сервер по SSH? Для этого используйте команду вида:

scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Пример команды:

scp /home/test.txt root@123.123.123.123:/directory

Файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».

Как скопировать файлы с удалённого сервера на локальный компьютер

При подключённом SSH скачать файл на локальный компьютер с удалённого сервера можно с помощью команды:

scp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

Пример команды:

scp root@123.123.123.123:/home/test.txt /directory

Файл test.txt будет загружен с сервера 123.123.123.123 на локальный компьютер в папку «/directory».

Как скопировать файл по SSH с одного удалённого сервера на другой

Подключитесь по SSH к серверу, на котором расположен файл. Затем выполните команду:

scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Пример команды:

scp /home/test.txt root@123.123.123.123:/directory

Файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».

Как скачать папку со всеми файлами и подпапками

Если вы хотите скачать папку со всеми файлами и подпапками, используйте ключ -r:

scp -r [источник] [получатель]

Как подключиться к серверу по нестандартному порту

Бывает, что для подключения по SSH нужно указать нестандартный порт. Без указания порта команда подключается к серверу по стандартному 22 порту. Чтобы указать нестандартный порт, введите команду с ключом -P:

scp -P [источник] [получатель]

Пример команды:

scp -P 12345 /home/test.txt root@123.123.123.123:/directory

Эта команда подключается по порту 12345 к серверу 123.123.123.123 и копирует на него файл «test.txt» с локального компьютера в директорию «/directory».

Как передать и скачать файлы по SSH на Windows

Скопировать файл по SSH на сервер можно командой:

pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Скачать файл по SSH с сервера командой:

pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

Увидеть список папок и файлов на сервере можно через pscp.exe. Для этого введите:

pscp -ls [имя пользователя]@[имя сервера/ip-адрес]:[путь]

Если в пути или в названии файла есть пробелы, используйте кавычки:

pscp “C:files or docsfile name” root@123.123.123.123:/home
  • Remove From My Forums
  • Вопрос

  • Итак, предыстория в двух словах:
    В моей конторе все серваки, обслуживающие и управляющие сетью работают на линуксе. Контроллер домена также линуховый. Рабочие станции обычные с обычной Xp-шкой. Немного поразмыслив, решили, что вполне логично будет перевести контроллер домена с самбы на 2003 сервер — управлять доменом намного проще.
    Установка контроллера на 2003 винде повлекла за собой установку DNS-сервера, хотя у нас вполне нормально работает существующий. DHCP сейчас тоже линуховый. DNS-ы подружить не получилось (т.е. чтоб использовать виндовый и линуховый вместе и ничего не трогать). DHCP сейчас в настройках раздает адрес линухового DNS-а.
    Вопрос в чем:
    1. может кто подскажет как подружить виндоый и линуховый (там dgbdns) днсы (чтобы все работало без дальнейших перенастроек).
    2. Если первое не получается, то каким образом плавно перевести контору в новый домен? (в настройках DHCP primary dns старый, поэтому нового, виндового контроллера домена машины в упор не видят)
    3. Как работает DHCP в винде? Его стабильность и юзабельность? (простите за столь глупый вопрос, но никогда его не настраивал и не щупал даже).
    У самого мысли по этому поводу следующие: поднять новый DHCP (возможно на винде, если виндовый привязывает IP-шники к MAC-адресам) и потом просто убирать из обслуживания старого DHCP-сервера определенные диапазоны IP-адресов и отдавать их на обслуживание новому.
    Если у кого-нибудь есть мысли по этому поводу, очень прошу, пишите

Ответы

  • 1. Определиться с целью: какие сервисы будут перенесены под Win, какие останутся на сторонней платформе. DNS рекомендую поднять на Win, зону сделать интегрированной с AD. Подружить dns-ы можно через передачу зон.

    2. Перевод можно осуществлять двумя путями:

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

    б) поднять новый домен на win2003 и мигрировать учётные записи.

    3. Работает стабильно и юзабельно. Привязка к MAC возможна, как путём жёсткого резервирования, так и заданием большого срока аренды адресов.

    Переезд на новый DHCP безболезненно делать следующим образом:

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

    Если что-то необходимо расписать подробнее — спрашивайте.

Перенос локального сайта с Windows на Linux (Помогите перенести локальный сайт с Windows 2003 на ASP Linux 9)

Модератор: SLEDopit

johnsnow91

Сообщения: 13

Перенос локального сайта с Windows на Linux

Здравствуйте, форумчане! Раньше с линуксом дела не имел. Возникла следующая ситуация…
На предприятии есть 2 сервера:
1 — на Windows server 2003
2 — на ASP linux 9
Сайт лежит на «1», база находится на «2»
На «2» уже находится другой сайт — пара страниц на пхп и несколько папок.
Необходимо поместить сайт на 2 так,чтобы не запороть сайт, который там уже есть. ПРобовал сам, залил папку на сервер 2, но застопорился на установке модуля mod_rewritе. Искал инструкции — не смог найти у себя файлы, которые надо редактировать. Ничего похожего даже найти не могу.
Вот лог ошибки.

1.PNG

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19815
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Перенос локального сайта с Windows на Linux

Сообщение

Bizdelnick » 21.06.2013 13:54

Шутить изволите? Поставьте нормальный (читать: поддерживаемый) дистрибутив, к этой древности и репозиториев-то не осталось.

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19815
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Перенос локального сайта с Windows на Linux

Сообщение

Bizdelnick » 21.06.2013 14:43

Репозиторий программного обеспечения. Его надо подключить, чтобы установить из него недостающий(е) модуль(и) apache.
В системе наверняка подключены какие-то репозитории, но они с вероятностью 99,9% приказали долго жить. Для очистки совести проверьте, запустив yum updateinfo от пользователя root.

P.S. Apache-то там какой версии?

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19815
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Перенос локального сайта с Windows на Linux

Сообщение

Bizdelnick » 21.06.2013 15:07

Там ещё и yum поломан ко всему прочему… Мой совет: объясните начальству, что система полностью неработоспособна и восстановлению не подлежит. И вытащите с неё дамп базы, если этого не сделано. На такое дышать-то страшно, не то что палочкой тыкать.

johnsnow91 писал(а): ↑

21.06.2013 14:56

Так-то Апач 2 называется.

Значит 2.0 — этого, в принципе, достаточно.
Давайте найдём его конфиг и посмотрим, что в нём: find /etc -name ‘httpd.conf’ -o -name ‘apache*.conf’.

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19815
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Перенос локального сайта с Windows на Linux

Сообщение

Bizdelnick » 21.06.2013 15:23

johnsnow91 писал(а): ↑

21.06.2013 15:18

А что конкретно нас там интересует? параметр AllowOverride корня сервера?

Конкретно интересует нечто вроде

Код: Выделить всё

LoadModule rewrite_module modules/mod_rewrite.so

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19815
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Перенос локального сайта с Windows на Linux

Сообщение

Bizdelnick » 21.06.2013 15:45

Там случайно нет отдельного конфига для модулей, вроде modules.conf? Если нет, проверьте, есть ли в системе модуль, командой locate mod_rewrite.so. Если модуль найдётся (выведется путь к нему) — добавьте в конфиг ту строчку, которую я привёл, и перезапустите apache.

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19815
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Перенос локального сайта с Windows на Linux

Сообщение

Bizdelnick » 21.06.2013 16:21

Перезагружать сервер не обязательно, достаточно перезапустить apache. Это делается командой /etc/init.d/httpd restart или, может быть, /etc/init.d/apache restart от имени root.

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19815
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Перенос локального сайта с Windows на Linux

Сообщение

Bizdelnick » 21.06.2013 16:55

А что в error.log?
P.S. Копируйте, пожалуйста, текст вместо выкладывания скриншотов. Так всем будет удобнее.

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

johnsnow91

Сообщения: 13

Re: Перенос локального сайта с Windows на Linux

Сообщение

johnsnow91 » 24.06.2013 10:53

Bizdelnick писал(а): ↑

24.06.2013 09:54

А если глянуть phpinfo(), там что-нибудь будет про mod_rewrite?

нет, к сожалению ничего. Я тут заметил, что не было файла mod_rewrite.so в той же папке, что и libphp4.so. Положил его туда. Теперь в модулях есть файл, но ошибка всё та же. Еще одна деталь: в PUTTY в midnight commander libphp4.so отмечен звездочкой и зеленым цветом, а мной добавленный mod_rewrite.so — серый. Может эта информация как-то поможет.

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19815
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Перенос локального сайта с Windows на Linux

Сообщение

Bizdelnick » 24.06.2013 11:52

johnsnow91 писал(а): ↑

24.06.2013 10:53

Я тут заметил, что не было файла mod_rewrite.so в той же папке, что и libphp4.so. Положил его туда.

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

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

johnsnow91

Сообщения: 13

Re: Перенос локального сайта с Windows на Linux

Сообщение

johnsnow91 » 24.06.2013 13:12

Bizdelnick писал(а): ↑

24.06.2013 11:52

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

Действительно зря. Положил апач вообще этим.
Прописал полный путь — не помогло. По прежнему апач вообще не стартует из-за этой строки в конфиге:
LoadModule rewrite_module /etc/httpd/modules/mod_rewrite.so
Замечу, что сервер лежит по пути usr/local/apache2. Т.е. сам файл mod_rewrite.so лежит не в директории апача.

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19815
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Перенос локального сайта с Windows на Linux

Сообщение

Bizdelnick » 24.06.2013 13:22

johnsnow91 писал(а): ↑

24.06.2013 13:12

/etc/httpd/modules/mod_rewrite.so

Модуль в /etc? Бывает же такое…

johnsnow91 писал(а): ↑

24.06.2013 13:12

сервер лежит по пути usr/local/apache2.

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

Я по-прежнему рекомендую переезд на другой дистрибутив. Это на порядок проще, чем разбираться в существующей помойке.

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

johnsnow91

Сообщения: 13

Re: Перенос локального сайта с Windows на Linux

Сообщение

johnsnow91 » 24.06.2013 13:55

Bizdelnick писал(а): ↑

24.06.2013 13:22

Я по-прежнему рекомендую переезд на другой дистрибутив. Это на порядок проще, чем разбираться в существующей помойке.

Я спросил у начальства и они в принципе не против, но дело в том, что я в линуксе дуб, а на этом сервере стоит не только страничка, но и распределяется интернет (iptables), почтовый сервер тоже на нем. Неужели нельзя как-нибудь воткнуть туда этот модуль? Или может посоветуете, как безболезненно перейти на другой дистрибутив…

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19815
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Перенос локального сайта с Windows на Linux

Сообщение

Bizdelnick » 24.06.2013 14:00

Если критично сохранить именно эту систему, то надо опять пересобирать apache из исходников, но при отсутствии опыта я бы Вам это делать не рекомендовал. Далеко не факт, что это вообще удастся, учитывая состояние системы.
Безболезненный вариант — найти другую машину, поставить на неё нормальный дистр с веб-сервером, а остальное или оставить там, где есть сейчас, или переносить постепенно.

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19815
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Перенос локального сайта с Windows на Linux

Сообщение

Bizdelnick » 24.06.2013 15:24

johnsnow91 писал(а): ↑

24.06.2013 14:44

А какой дистрибутив посоветуете?

С максимально долгим сроком поддержки. То есть либо Debian, либо идин из клонов RHEL (CentOS, Scientific — без разницы).

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Тема: перенос сайта с windows на linux  (Прочитано 1684 раз)

20 Январь 2016, 10:34:08

Ответ #15

Перегенерируйте миниатюры в настройках — изображения.
Футер не показвает при ошибках в шаблонах. Чтобы определить ошибки нужно проверять лог ошибок хостинга или включить показ ошибок в prestashop.


Записан

21 Январь 2016, 18:02:27

Ответ #16

перезалила заново на хостинг сайт

через отладку (defines.inc.php) что выдает покажу на скриншотах

сайт работает.но изменить через админку картинки -немогу-не нажимается (запретна) кнопка выбор файла для изменения картинки
хочу заметить в админке Конфигурация   Информация
СПИСОК ИЗМЕНЕННЫХ ФАЙЛОВ
все время крутится:
 Проверка файлов…


Записан

21 Январь 2016, 18:02:54

Ответ #17


Записан

21 Январь 2016, 19:45:43

Ответ #18

Удалите модуль smartblog или отключите, проблема в этом модуле.


Записан

21 Январь 2016, 21:08:14

Ответ #19

Не думаю что смартблог-текст статьи есть. Пропала 1 картинка из 1 статьи
и в админке картинки товаров превьюшки-не показываются

перегенерацию изображений:делала
кеш чистила

что можно сделать?


Записан

22 Январь 2016, 11:08:43

Ответ #20

Типы изображений могут не совпадать. В админке в изображениях смотрите какие типы есть home, medium … и сравните с шаблонами.


Записан

22 Январь 2016, 11:09:29

Ответ #21

Удалите которое не показвает и загрузите другое, может проблема в файле изображения.


Записан

22 Январь 2016, 12:48:53

Ответ #22

 В информации: СПИСОК ИЗМЕНЕННЫХ ФАЙЛОВ

Были обнаружены измененные или недостающие файлы
Обновленные файлы (1)

footer.php

Мне уже писали на форуме тут: Проверьте этот файл, если вы его не изменяли, то возможно сайт был взломан.
— я не изменяла

https://github.com/PrestaShop/PrestaShop/blob/develop/footer.php
Оригинальный файл. — к меня такой же
на всякий случай даже заменила на оригинальный.

все так же в информации пишут об измененном файле footer.php

т.к. статьи у меня модуль smartblog — отключила временно

p.s. может подскажите хороший модуль для статей-или оставить smartblog?

миниатюры в админке вот адрес картинки mysite.com/img/tmp/product_mini_49_1.jpg?time=1453455837

как В админке в изображениях  типы  home, medium … сравнить с шаблоном?


Записан

22 Январь 2016, 13:11:19

Ответ #23

А где не показывает картинку, на какой странице?


Записан

22 Январь 2016, 13:32:06

Ответ #24

в админке превью товаров — а на сайте картинки видны
(не считая в одной из нескольких статей  на самом сайте, но я стати отключила пока что)

 может в этом проблема(я имею в виду какие то технические проблемы,хотя вряд ли но все же)? сайт на линуксе

ИНФОРМАЦИЯ О СЕРВЕРЕ

Информация о сервере Linux #1 SMP Wed Dec 17 01:55:02 UTC 2014 x86_64

Версия веб-сервера Apache/2.2.15 (CentOS)

Версия PHP 5.4.45

Доступный объем памяти 128M

Максимальное время выполнения 30

 ИНФОРМАЦИЯ О БАЗЕ ДАННЫХ

Версия MySQL 5.5.35-33.0

Адрес сервера MySQL localhost

Имя базы данных MySQL u01

Пользователь MySQL u0

Префикс таблиц ps_

Движок MySQL InnoDB


Записан

22 Январь 2016, 13:47:28

Ответ #25

Сервер нормальный, не отнего проблемы.
Удалите которое не показвает и загрузите другое, может проблема в файле изображения.


Записан

22 Январь 2016, 20:11:26

Ответ #26

Попробовала удалить, загрузить новое — не помогло

на сайте все картинки видны
а в админке превью товаров не видны — там знак вопроса нарисован


Записан

23 Январь 2016, 11:48:26

Ответ #27

Поставьте права запись чтение 777 для папки /img/tmp/


Записан

Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

01 Февраль 2016, 16:27:39

Ответ #28

Спасибо за ответ,
у меня вообще все права 777 для папки /img

залила новый товар через импорт-на сайте картинки есть, в админке все так же вопрос на превью картинках
причем во время импорта — был текст: изображение товара не может быть загружено (смысл такой), но товар и картинки на сайт загрузились

так же заметила, у меня нет в папке  /img папки  /tmp/

создала папку /img/tmp/ почистила кеш-все заработало ! спасибо mAgency!!!

Остается решить еще проблему измененного файла (это проблема или нет?)

 СПИСОК ИЗМЕНЕННЫХ ФАЙЛОВ
Были обнаружены измененные или недостающие файлы
Обновленные файлы (1)

footer.php


Записан

01 Февраль 2016, 17:02:44

Ответ #29

СПИСОК ИЗМЕНЕННЫХ ФАЙЛОВ

Не проблема, не обращайте внимания.


Записан

Понравилась статья? Поделить с друзьями:
  • Перенос с диска с на диск windows 10 samsung
  • Перенос с hdd на ssd windows 10 пошагово
  • Перенос рейд 1 в windows 2008
  • Перенос расположения значков рабочего стола windows
  • Перенос рабочего стола на другой компьютер windows 10