101

Re: Как увеличить количество строк/знаков?

Доброго времени суток.

Вы знаете захотелось установить дома Linux Mandriva 2008 PowerPack хочу поарботать с Apache+PHP+MySQL так сказать приблизиться условиям родной среды web сервера. Установил  Linux Mandriva 2008 PowerPack с диска DVD без проблем, по привычке работы Total Commander установил себе Krusader (долго возился с установкой, было интерсно). Установку Apache выбрал когда устанавливал саму систему, сам Aapache запустил из коммандной строки под [root@localhost  .....# apachectl start и localhost в браузере заработал. Здесь все хорошо. Проблемы начались дальше, когда приступил к установке PHP(php-4.3.2.tar.bz2) и подключения php к Apache2. Вот что написала мне система в командной стоке когда попытался установить PHP:

[victor@localhost php-4.3.2]$ ./configure
creating cache ./config.cache
checking host system type... i686-pc-linux-gnu
Updated main/php_version.h
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for AIX... no
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking for ranlib... ranlib
checking whether ln -s works... yes
checking for gawk... gawk
checking for bison... no
checking for byacc... no
configure: warning: You will need bison if you want to regenerate the PHP parsers.
checking for flex... lex
checking for yywrap in -ll... no
checking lex output file root... ./configure: line 2356: lex: command not found
configure: error: cannot find output from lex; giving up
[victor@localhost php-4.3.2]$

так понимаю что в файле configure в строке line 2356 linux что-то неустраивает. Как быть, что делать?
Может попробовать установить другую версию PHP с другой подготовкой пакета(php-5.1.4-1.esp1.src.rpm) попробовать вариант rpm установки или пока система неподружится с php-4.3.2.tar.bz2 то дальнейшие попытки любой установки бесполезны?

На Вашем сайте в статье описана установка только для Windows и покачто в таком же пошаговом с примерами стиле установки для Linux невидел.

Пожалуйста помогите с установкой/настройкой.
Если для дальнейшго разворачивания темы нужно создавать отдельную тему?

Заранее благодарен за ответ.

102

Re: Как увеличить количество строк/знаков?

Victor2008
Не знаю как в Mandriva, но в Fedora все устанавливается предельно просто. Конкретно по ошибке ничего сказать не могу. Попробуйте установить другой пакет PHP5, или поищите уже готовые бинарные сборки для вашей версии Mandriva.

103

Re: Как увеличить количество строк/знаков?

Доброговремени суток.

Спасибо что откликнулись. Щчевидно что в Fedora так полагаю что Core установка происходит иначе. Буду пробовать так же и в Fedora.

В данном случае взял другой пакет, на этот раз mysql. На сей раз ошибка другая, привожу код:

[root@localhost mysql-3.23.49]# ./configure --prefix=/usr/local/mysql
loading cache ./config.cache
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for gawk... (cached) gawk
checking for gcc... (cached) gcc
checking whether the C compiler (gcc   ) works... yes
checking whether the C compiler (gcc   ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for c++... (cached) c++
checking whether the C++ compiler (c++   ) works... yes
checking whether the C++ compiler (c++   ) is a cross-compiler... no
checking whether we are using GNU C++... (cached) yes
checking whether c++ accepts -g... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking for ranlib... (cached) ranlib
checking for ld used by GCC... (cached) /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... (cached) yes
checking for BSD-compatible nm... (cached) /usr/bin/nm -B
checking whether ln -s works... (cached) yes
loading cache ./config.cache within ltconfig
checking for object suffix... o
checking for executable suffix... (cached) no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions ... no
checking if gcc static flag -static works... none
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the linker (/usr/bin/ld) supports shared libraries... yes
checking command to parse /usr/bin/nm -B output... ok
checking how to hardcode library paths into programs... immediate
checking for /usr/bin/ld option to reload object files... -r
checking dynamic linker characteristics... Linux ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for objdir... .libs
creating libtool
loading cache ./config.cache
checking for a BSD compatible install... /usr/bin/install -c
checking for bison... no
checking for byacc... no
checking for pdftex... manual.pdf
checking return type of sprintf... int
checking for uname... /bin/uname
checking operating system... Linux
checking if we should use skip-locking as default for linux-gnu... yes
checking for ln... /bin/ln
checking for ln... /bin/ln
checking for mv... /bin/mv
checking for rm... /bin/rm
checking for cp... /bin/cp
checking for sed... /bin/sed
checking for cmp... /usr/bin/cmp
checking for chmod... /bin/chmod
checking for hostname... /bin/hostname
checking for perl... /usr/bin/perl
checking for ps... /bin/ps
checking how to check if pid exists... /bin/ps p $$PID | grep mysqld > /dev/null
checking for kill... /bin/kill
checking for kill switches... /bin/kill -0 $$PID > /dev/null 2> /dev/null
checking for gcc option to accept ANSI C...
checking if we should use assembler functions... no
checking if we should use RAID... no
checking for getconf... getconf
checking for CFLAGS value to request large file support... -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
checking for LDFLAGS value to request large file support...
checking for LIBS value to request large file support...
checking for _FILE_OFFSET_BITS... 64
checking for _LARGEFILE_SOURCE... 1
checking for _LARGE_FILES... no
checking for ANSI C header files... yes
checking for size_t... yes
checking for dirent.h that defines DIR... yes
checking for opendir in -ldir... no
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for fcntl.h... yes
checking for float.h... yes
checking for floatingpoint.h... no
checking for ieeefp.h... no
checking for limits.h... yes
checking for memory.h... yes
checking for pwd.h... yes
checking for select.h... no
checking for stdlib.h... yes
checking for stddef.h... yes
checking for strings.h... yes
checking for string.h... yes
checking for synch.h... no
checking for sys/mman.h... yes
checking for sys/socket.h... yes
checking for netinet/in.h... yes
checking for arpa/inet.h... yes
checking for sys/timeb.h... yes
checking for sys/types.h... yes
checking for sys/un.h... yes
checking for sys/vadvise.h... no
checking for sys/wait.h... (cached) yes
checking for term.h... no
checking for unistd.h... yes
checking for utime.h... yes
checking for sys/utime.h... no
checking for termio.h... yes
checking for termios.h... yes
checking for sched.h... yes
checking for crypt.h... yes
checking for alloca.h... yes
checking for sys/ioctl.h... yes
checking for floor in -lm... yes
checking for gethostbyname_r... yes
checking for setsockopt... yes
checking for yp_get_default_domain... no
checking for yp_get_default_domain in -lnsl... yes
checking for p2open... no
checking for p2open in -lgen... no
checking for bind... yes
checking for crypt in -lcrypt... yes
checking for crypt... yes
checking if libz with compress... yes
checking for atomic operations... no
checking for int8... no
checking LinuxThreads... Not found
configure: error: This is a linux system and Linuxthreads was not
found. On linux Linuxthreads should be used. So install Linuxthreads
(or a new glibc) and try again. See the Installation chapter in the
Reference Manual.
[root@localhost mysql-3.23.49]#

в система есть glibc-2.7-12mnb1.i586.rpm

в самом файле /var/src/mysql-3.23.49/configure

в верней части файла configure есть строки:
-
ac_help="$ac_help
--with-other-libc=/path/to/other/libc/dir Link against libc and other standard libraries installed in the specified non-standard location overriding default. Originally added to be able to link against glibc 2.2 without making the user upgrade the standard libc installation "
-
Но в системе уже есть файл с версисей   glibc 2.7 которая более новее!

В файле configure в районе строки 5377 файла configure есть строки:

rm -f conftest*
      # RedHat 5.0 does not work with dynamic linking of this. -static also
      # gives a spped increase in linux so it does not hurt on other systems.
      with_named_thread="-lpthread"
    else
      echo "$ac_t"""Not found"" 1>&6
      # If this is a linux machine we should barf
      if test "$IS_LINUX" = "true"
      then
    { echo "configure: error: This is a linux system and Linuxthreads was not
found. On linux Linuxthreads should be used. So install Linuxthreads
(or a new glibc) and try again. See the Installation chapter in the
Reference Manual." 1>&2; exit 1; }
      else
    echo $ac_n "checking "DEC threads"""... $ac_c" 1>&6
echo "configure:5383: checking "DEC threads"" >&5
        if test -f /usr/shlib/libpthread.so -a -f /usr/lib/libmach.a -a -f /usr/ccs/lib/cmplrs/cc/libexc.a
    then
      with_named_thread="-lpthread -lmach -lexc"
      #with_named_thread="-lpthread -lmach -lexc -lc"
      cat >> confdefs.h <<\EOF

именно этот участок
-
{ echo "configure: error: This is a linux system and Linuxthreads was not
found. On linux Linuxthreads should be used. So install Linuxthreads
(or a new glibc) and try again. See the Installation chapter in the
Reference Manual." 1>&2; exit 1; }
-
мне система и выдала с пометкой ошибка

что такое Linuxthreads    or a new glibc   так понимаю что нужна новая библиотека

С благодарностью за ответ.

104

Re: Как увеличить количество строк/знаков?

Victor2008
Думаю вам не стоит мучиться со сборкой из исходников, постарайтесь поискать уже собранные бинарники под вашу систему.

105

Re: Как увеличить количество строк/знаков?

Доброго времени суток.

Спасибо за совет. Нашел RPM пакеты для Mandriva 2008.1 и с их помощью установил Web-сервер.
Однако команда make системой Mandriva 2008 нераспознается вообще, Mandriva говорит что непонимает эту команду. В процессе обработки команды ./configure в попытке из исходников собрать сервер было две ошибки:
1. Понадобилось дополнительно доустанавливать компилятор C/C++;
2. Система выдала ошибку:
[root@localhost mysql-3.23.49]# ./configure --prefix=/usr/local/mysql
loading cache ./config.cache
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... found

далее обработка.... и перед ошибкой -

checking for crypt... yes
checking if libz with compress... yes
checking for atomic operations... no
checking for int8... no
checking LinuxThreads... Not found
configure: error: This is a linux system and Linuxthreads was not
found. On linux Linuxthreads should be used. So install Linuxthreads
(or a new glibc) and try again. See the Installation chapter in the
Reference Manual.
[root@localhost mysql-3.23.49]#

Что такое Linuxthreads?
Когда хотел установить glibc система сказала что этот вайл библиотеки уже есть.

А так хотелось поэкспериментировать и собрать сервер из исходников.
Может знаете как научить Mandriva 2008 понимать команды make и make install??

Вы знаете так же непонятная ситуация.
Есть Apache2 MySQL5 PHP5 (Apache2 и MySQL5 запускаются при старте системы) Установил распаковав из архива скачанного с Вашего сайта phpMyAdmin третью версию. Поместил в папку www запустил, phpMyAdmin выдал ошибку о том что сессия ненастроена. В Windows когда устанавливал PHP то в той же папке и создал папки includes, tmp, upload. В Windows эти папки нужно создавать в одном месте и phpMyAdmin заработал быстро(тогда Вы еще оказывали неоценимую помощ по настройке).

В Mandriva 2008 которая есть колном Linux(если я ничего не путаю) ситуация с папками кардинально другая, здесь не все лежит в одном мместе, а все разложено иначе, в разніх местах. Пожалуйста, нужна Ваша помощ. Перечитал десяток различных статей через поисковые машины, но подробного указания где и что на глаза неполось. Восновном пишут что установка производится со сборки из исходников и пишут одну директорию /usr/local/ , а для настройки мало кто пишет как дальше.

С благодарностью за ответ.

106

Re: Как увеличить количество строк/знаков?

Victor2008
У меня нет доступа к Mandriva, по Linux могу подсказать только по используемой Fedora. Дистрибутивы Linux существенно различаются по способу установки, путям и т. д., поэтому подсказать что-то конкретное не могу.

Linuxthreads нужна компилятору для многопоточной сборки. Как ее установить на Mandriva я не знаю.

Нет существенного значения где будут каталоги tmp и upload на Linux, но их логично положить в /usr/php/. Необходимо проследить за правами выставляемыми на эти каталоги, обязательно следует поставить разрешение на запись и чтение из них.

107

Re: Как увеличить количество строк/знаков?

Доброго времеин суток.

У меня вопрос и просьба помощи.

Вопрос.
Какая разница в работе и использовании LAMP(Local Apache Mysql Php), понимаю что это бинарники(пакеты rpm) от того как если бы сервер собирать из исходников *.tar.gz и работать с такой(*.tar.gz) установкой сервера? Кстати попутно в тему попробовал установить из исходника Apache2.0.54 строка выглядела так:
./configure --prefix=/usr/local/apache

дальше бижит строчка перечесление файлов, потом
make
дальше побежали файлы с путями
потом
make install
после этого я перезагрузил машину, запустил localhost и... барузер показал старницу It work!
НО когда обнаружилось что он нехочет работать с Virtual Host т.е.
добавляю в  /etc/hosts  строку 127.0.0.1:
127.0.0.1         localhost

127.0.0.1         slava.ua
может нужно было сделать так 127.0.0.2 тогда указать <VirtualHost 127.0.0.2>?
    slava.ua потом сохраняю, перезагружаю машину. Далее в файл httpd.conf добавляю:
<VirtualHost slava.ua>
    ServerAdmin webmaster@slava.ua
    ServerName slava.ua
    DocumentRoot /var/www/slava.ua/
    ErrorLog /var/www/slava.ua/www/error_log
    CustomLog /var/www/slava.ua/www/access_log common
</VirtualHost>
далее перезагружаю Apache:
apachectl restart
Apache нереагирует вообсче. Попытался остановить apachectl stop продолжает нереагировать. Обращаюсь непосредственно к service httpd restart и service httpd stop все равно никакой реакции.
Что делать? (может просто плохой исходник apache.tr.gz непосоветуете получше, не самый новый, проверенный, рабочий?)
Знаю как удалить rpm пакет   rpm -e (название пекета/программы), но это для rpm пакетов, а как удалить то что собрал из исходника?

108

Re: Как увеличить количество строк/знаков?

Victor2008 сказал:

Какая разница в работе и использовании LAMP от того как если бы сервер собирать из исходников *.tar.gz и работать с такой(*.tar.gz) установкой сервера?

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

Виртуальные хосты должны выглядеть так:
NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin webmaster@slava.ua
    ServerName slava.ua
    DocumentRoot /var/www/slava.ua/
    ErrorLog /var/www/slava.ua/www/error_log
    CustomLog /var/www/slava.ua/www/access_log common
</VirtualHost>

127.0.0.2 - так делать нельзя.

Перезапустить Apache можно командой:
httpd -k restart

Удалить собранное из исходников просто - надо только удалить все файлы и строки из файлов для запуска, если вы их прописывали.

109

Re: Как увеличить количество строк/знаков?

Доброго времени суток.

Спасибо что разьяснили. Очень помогло.

Virtual Host заработал, в логе error_log виртуального хоста slava.ua заносится какя-то ошибка:
[Sat Dec 12 11:38:38 2009] [error] [client 127.0.1.1] File does not exist: /var/www/slava.ua/html/css/js, referer: http://slava.ua/

Немогли бы Вы объяснить почему пишет ошибку [error] - это связано с неправельным адресом [client 127.0.1.1]

Вот как выглядит файл /etc/hosts:
127.0.0.1        localhost.localdomain localhost my-desktop

127.0.1.1         my-desktop
127.0.1.1         slava.ua

Заранее признателен за помощ.

110

Re: Как увеличить количество строк/знаков?

Victor2008
Ошибка означает, что файл /var/www/slava.ua/html/css/js не найден. Посмотрите откуда этот файл может вызываться и есть ли он.

111

Re: Как увеличить количество строк/знаков?

Доброго времени суток.

Возникла ситуация.
В httpd.conf в LAMP в Linux установлено:

<IfModule mod_autoindex.c>
    # FancyIndexing is whether you want fancy directory indexing or standard
    IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=Windows-1251 Charset=UTF-8
--- и далее по коду

DefaultLanguage ru
--- и далее по коду

<IfModule mod_negotiation.c>
    LanguagePriority ua ru en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW
    </IfModule>
---- и далее по коду

Когда пишу html/php старницу добавляю:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
В браузере кирилицу невидно, видны тоьлко символы, а когда вместо строки:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
прописываю:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
кирилицу отображает корректно.

Что еще нужно изменить/добавить в httpd.conf чтобы в html/php нужно было бы вписывать только:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
для корректного отображения кирилицы?
И в догонку, в Linux в phpmyadmin какую кодировку для базы надо добавлять чтобы на сайте корректно отображалась кирилица? Возможно что в конфигурационный файл MySQL нужно добавить/изменить существующую? В данном случае при создании базы средствами phpmyadmin задал кодировку кирилицы что-то вроде cp1251-general ci. Однако кирилица отображается некорректно. Пробовал менять, там четыре варианта, однако ничего не помогло.

Заранее признателен за помощ.

112

Re: Как увеличить количество строк/знаков?

Victor2008
Проверьте в какой кодировке сам скрипт: кириллица может отображаться только в ANSI (windows-1251) и в UTF8. В настройках Apache я ничего особенного не вижу.

В phpMyAdmin у таблиц необходимо ставить ту кодировку, в которой будут страницы сайта. Если страницы будут в windows-1251, то таблицы следует создавать в cp1251_general_ci.

Кроме задания кодировки таблицы, очень важно правильно установить кодировку соединения с MySQL, которая видна при выводе запроса:
SHOW GLOBAL VARIABLES LIKE 'char%';

Если глобальная кодировка соединения отличается от требуемой, то прописать ее можно в конфигурационном файле MySQL, добавив следующую строку в раздел [mysqld]:
init-connect="SET NAMES cp1251"

Также следует установить кодировку в следующей директиве:
default-character-set=cp1251

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

113

Re: Как увеличить количество строк/знаков?

Доброго времени суток.

Спасибо за дельный совет отностительно:
>Еще один важный момент - никогда не запускайте скрипты под root, всегда создавайте отдельного >пользователя и наделяйте его только необходимыми правами.

Вы знете после того как вычитал в книге-самоучитель Linux несколько страниц в теме с описанием как задать пользователю из-под root чтнение "r", редактирование с сохраниением "w", запуск скрипта "x" с примером команды, попытался реализовать на практике данный пример:
[root@localhost  /]# user+rwx var
потом пробовал [root@localhost  /]# user+rwx /var
потом пробовал [root@localhost  /]# user+rwx /var/
во всех случаях система писала что неопнимает команду.

В моем случае когда загружается KDE мне для обычного пользователя user как Вы и советовали нужно задать из-под root права на чтнение/запись/запуск скриптов. Момент в том что виртуальный хост установлен по адресу /var/www/slava.ua/html, а по умолчанию эта папка только для root`a. В книжке есть так же абзац в котором говорится о том что пользователю нужно назначить группу однако причем тут группа если мне нужно задать права на чтение/запись/запуск скриптов из папки?

С благодарностью за ответ.

114

Re: Как увеличить количество строк/знаков?

Доброго времени суток.

Вот то что мне писала система в консоли:
[user@localhost /]$ ls -l                                   
итого 88                                                       
drwxr-xr-x   2 root root  4096 2009-12-10 01:41 bin/           
drwxr-xr-x   3 root root  4096 2009-08-25 21:13 boot/         
drwxrwxrwt  17 root root  4300 2009-08-25 21:27 dev/           
drwxr-xr-x  99 root root 12288 2009-08-25 21:28 etc/           
drwxr-xr-x   3 root root  4096 2009-12-10 01:33 home/         
drwxr-xr-x   2 root root  4096 2009-12-10 02:10 initrd/       
drwxr-xr-x  16 root root  4096 2009-12-10 01:40 lib/           
drwx------   2 root root 16384 2009-12-10 01:21 lost+found/   
drwxr-xr-x   5 root root  4096 2009-08-25 21:28 media/         
drwxr-xr-x   2 root root  4096 2009-03-07 04:17 mnt/           
drwxr-xr-x   4 root root  4096 2009-12-10 01:29 opt/           
dr-xr-xr-x 153 root root     0 2009-08-25 21:13 proc/         
drwxr-x---  18 root root  4096 2009-08-24 22:28 root/
drwxr-xr-x   2 root root 12288 2009-12-10 01:30 sbin/
drwxr-xr-x  12 root root     0 2009-08-25 21:13 sys/
drwxrwxrwt   8 root root  4096 2009-08-25 21:14 tmp/
drwxr-xr-x  13 root root  4096 2009-12-10 01:25 usr/
drwxr-xr-x  19 root root  4096 2009-12-10 01:40 var/
[victor@localhost /]$ su
Password:
[root@localhost /]# chmod victor+rwx var/
chmod: неверный режим: `victor+rwx'
Попробуйте `chmod --help' для получения более подробного описания.
[root@localhost /]# chmod --help
Использование: chmod [КЛЮЧ]... РЕЖИМ[,РЕЖИМ]... ФАЙЛ
       или:    chmod [КЛЮЧ]... ВОСЬМ-РЕЖИМ ФАЙЛ...
       или:    chmod [КЛЮЧ]... --reference=ОФАЙЛ ФАЙЛ...
Изменяет режим каждого ФАЙЛА на указанный РЕЖИМ.

  -c, --changes           как verbose, но сообщать, только если сделано
                          действительное изменение
      --no-preserve-root  не обрабатывать `/' особо (по умолчанию)
      --preserve-root     отказываться рекурсивно обрабатывать `/'
  -f, --silent, --quiet   подавлять большинство сообщений об ошибках
  -v, --verbose           выводить диагностические сообщения для каждого файла
      --reference=ОФАЙЛ   использовать режим ОФАЙЛА вместо явного указания РЕЖИМА
  -R, --recursive         рекурсивно обрабатывать файлы и каталоги
      --help     показать эту справку и выйти
      --version  показать информацию о версии и выйти


РЕЖИМ задается в форме `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.

Report chmod bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report chmod translation bugs to <http://translationproject.org/team/>
[root@localhost /]# chmod [victor] rwx[,rwx] var/
chmod: неверный режим: `[victor]'
Попробуйте `chmod --help' для получения более подробного описания.
[root@localhost /]#

Мне несовсем понятно что нужно вписывать сюда:
[ugoa]*([-+=]([rwxXst]*|[ugo]))+
Вид этой строки из help кардинально отличается от примера из книги которым я пользуюсь и испоьлзуя который ничего не работает.
Возможно это как-то поможет с советом.

Заранее благодарен за ответ.

115

Re: Как увеличить количество строк/знаков?

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

Права на выполнение и запись выставляются командой chmod.
chmod u=rwX,go=rX mydir
Здесь:
u - права пользователя (владельца файла) ставим в чтение (r), запись (w) и каталоги на исполнение (X).
go - права для группы и других пользователей ставим на чтение (r) и каталоги на исполнение (X).

Обязательно почитайте документацию к chmod и chown, это одни из основных команд в Unix, закладывающих основы безопасности сервера при их правильном использовании. К примеру, файлы скриптов находящиеся в структуре каталогов доступных по http, никогда не должны находиться файлы с правами root.

116

Re: Как увеличить количество строк/знаков?

Доброго времеин суток.

Спасибо, этим абзацем:

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

Вы очень помогли, получилось. Зайдя как root задал:
chown user:user var
и получилось, пользователь и группа user
drwxr-xr-x  19 user user  4096 2009-12-10 01:40 var/

Дальше стал искать информацию в книгах что у меня есть из того что вычитал понятно только то что этой командой задается право пользователю на чтение файла, запись/сохранение измененного файла командой chmod и всему этому уделено два абзаца по пару строк.

Далее в интернете нашел статью:
http://linuxreviews.org/man/chmod/index.html.ru
в статье есть абзац:
chmod изменяет права доступа каждого указанного файла в соответствии с правами доступа, указанными в параметре режим, который может быть представлен как в символьном виде, так и в виде восьмеричного числа, представляющего битовую маску новых прав доступа.

Формат символьного режима таков:
`[ugoa...][[+-=][rwxXstugo...]...][,...]'.
так понимаю chmod изменяет права доступа каждого указанного файла в соответствии с правами доступа, указанными в параметре режим, который может быть представлен как в символьном виде, так и в виде восьмеричного числа, представляющего битовую маску новых прав доступа.
Формат символьного режима таков:
`[ugoa...][[+-=][rwxXstugo...]...][,...]'.

Когда в командной строке используя ваш пример подставил свои данные:
chmod uuser=rwX,gouser=rX var или chmod user=rwX,user=rX
команда была принята системой, однако строка в этом месте  - drwxr-xr-x:
drwxr-xr-x  19 user user  4096 2009-12-10 01:40 var/
ничего неизменилось.(так понимаю что после изменения вид должен быть таким - drwxrwxrwt)
Скажите что сделано не так? Или что еще несделано?

Покопавшись я импользовал вариант:
`[ugoa...][[+-=][rwxXstugo...]...][,...]'.
и
[root@localhost /]# chmod [uuser][[=][rwX]],[gouser][[=][rX]] var
в этом случае система выдала:
chmod: неверный режим: `[uuser][[=][rwX]],[gouser][[=][rX]]'
Попробуйте `chmod --help' для получения более подробного описания.

Получается что я что-то не то что нужно беру в квадратные кавычки.
Вот такая ситуация.

117 (изменено: Victor2008, 2009-09-01 14:07:47)

Re: Как увеличить количество строк/знаков?

Доброго времени суток.

Вы знаете в интернет натолкнулся на статью:
http://desktoplinux.ru/unix_guide/prava … am_v_linux
прочитал и меня заитересовали два абзаца:

Следующие три символа (r--) отражают права доступа группы к файлу. Группой-собственником файла в нашем примере является группа users. Поскольку здесь присутствует только символ r, все пользователи из группы users могут читать этот файл, но не могут изменять или исполнять его.

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

Если я превельно все понял то есть отдельные права как на пользователя так и на группу.
Если учесть что мне нужно создавать/изменять с сохранением/запускать скрипты из папки:
/var/www/slava.ua/html и учитывая что путь к html длинный насколько я понял чтобы из-под ...]$ user можно было бы создавать/редактировать/запускать PHP/HTML файлы то нужно для каждой папки от /var/ до /html/ задать права на создание/редактирование/чтение/запуск скриптов для пользователя  ...]$ user ?

Но ведь права на данный момент таковы:
drwxr-xr-x  19 user user  4096 2009-12-10 01:40 var/
далее путь
drwxr-xr-x 12 apache apache 4096 2009-08-18 19:35 www/
далее путь
drwxrwxr-x 3 root root 4096 2009-08-20 22:13 slava.ua/
далее путь
drwxrwxr-x 13 root root  4096 2009-08-20 22:14 html/

Ну..... root -то допустим я изменю, но как быть с:
drwxr-xr-x 12 apache apache 4096 2009-08-18 19:35 www/
Ведь в конфигурационном файле Apache описан пользователь Apache и группа Apache:
User apache
Group apache
эти параметры разьве можно менять, ведь это установки самого Apache?
Если установки:
User apache
Group apache
Поменять то Apache после этого корректно будет работать??

У меня все никак неполучается с помощью команды chmod изменить права rwx. Как же тогда для root задать права чтобы скрипты невлияли на работу системы?

Вы знаете нашел любопытные статьи с примерами:
http://rus-linux.net/book1.php?name=boo … 04_05.html
С примерами описывается способ изменения прав доступа к файлам и папкам, буду пробовать. К стати очень похожий на тот что писали Вы. Примите благодарность.

С благодарностью за помощ.

118

Re: Как увеличить количество строк/знаков?

Ошибка в ваших вариантах заключается в uuser и gouser - это неверно, следует перед знаком равно ставить один (или группу) из символов: u, g, o или один символ a, который равен ugo.

Следовательно переписываем этот вариант:
chmod uuser=rwX,gouser=rX var
На:
chmod u=rwX,go=rX var

Права должны работать так: каждый виртуальный хост имеет своего пользователя и все файлы от корня сайта (html, в вашем случае) должны принадлежать этому пользователю. К примеру пользователь user из группы group.
chown -R user:group /var/www/slava.ua/html
Данная команда рекурсивно выставит пользователя на все файлы от html и выше.

Так же с правами:
chmod -R u=rwX,go=rX /var/www/slava.ua/html

119

Re: Как увеличить количество строк/знаков?

Доброго времени суток.

Спасибо Вам большое, получилось!

Если вдоль пути:
/var/www/slava.ua/html
Задать права: rwX для пользователя user, то как неразрешить из-под суперпользователя root запускать/вносить изменения в скриптовые вайлы? Ведь безопастность очень важна(чтобы из-за работы правельной/неправельной скриптов) небыли внесены какие-либо действия в систему. Когда из-под root зашел в:
/var/www/slava.ua/html
то смог запускать/реадктировать скриптовые файлы, чего после того как права на доступ к папке:
/var/www/slava.ua/html
были изменены в пользу user должны по идее быть недоступны для root?
Или я чето-то не так представляю?

С благодарностью за помощ.

120

Re: Как увеличить количество строк/знаков?

Victor2008
root всегда имеет доступ ко всем файлам и папкам, так как является учетной записью администратора сервера. Важно, чтобы в каталогах www не было скриптов принадлежащих root, так как при получения доступа к ним и возможности их перезаписи скрипт будет запускаться с неограниченными правами пользователя root.

121

Re: Как увеличить количество строк/знаков?

Доброго времени суток.

Спасибо за коментарий.

Несовсем понял:
Важно, чтобы в каталогах www не было скриптов принадлежащих root

а какая разница между скриптом(файл) который принадлежит root и скриптом(файл) который не принадлежит root(как их распознать)? Если у root неограниченный доступ к любому файлу/каталогу и созданию любого файла/каталога.?

122

Re: Как увеличить количество строк/знаков?

Victor2008
Команда "ls -la" выведет список файлов и каталогов с прописанной принадлежностью каждого определенному пользователю и группе. Именно эту принадлежность файла пользователю вы задаете командой chown.

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

123

Re: Как увеличить количество строк/знаков?

Доброго времени суток.

Вы знаете какая-то ерунда получается дописал/вставил в конфигурационный файл MySQL:
[mysqld]:
init-connect="SET NAMES cp1251"
так же добавил:
default-character-set=cp1251

База в MySQL создана cp1251_general_ci в phpMyAdmin все хорошо видно, читабельно. Однако когда в браузере загружаю index.php, текст отображается вопросиками. В заголовке index.php есть строка:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
однако даже с этой строкой пишутся вопросики.

Далее скопировал через флешку php-сайт с многочисленными страницами-файлами *.php, скопировал из WindowsXP, там со всем этим хозяйством работал. Теперь в Linux открываю в редакторе vi и весь комментарий к строкам нераспознается, далее заголовки и кнопки(часть есть "живым" текстом) нераспознается. Когда сохраняем естественно все в тар тарары.

Как быть, какой редактор посоветуете?
С благодарностью за ответ.

124

Re: Как увеличить количество строк/знаков?

Victor2008
Используйте Notepad++ в Windows и выбирайте таблицу символов ANSI.

vi работает с любыми кодировками для чего гибко настраивается, но возможно это не он, а консоль. Чтобы редактировать файлы в консоли, она должна понимать кодировку cp1251.

125

Re: Как увеличить количество строк/знаков?

Доброго времени суток.

Спасибо, пересохраню все под WinXP в Notepad++ и тогда еще раз попробую перекинуть в Linux.
Однако в консоли четабельно отображаются папки с русским текстом типа "моя музыка", "мое видео" которые расположены в /home/user Как тогда?