Архив за етитет: Linux

Slackware current updates и PHP 5.2.13

[bg][/bg]Видях, че са се появили ъпдейти за slackware… Реших ъпдейтна :)  Но след като ъпдейтнах имах проблеми …

А те са:

1. Липсващи symlinks … libldap-2.3.so.0 (След ъпгрейда липсва) И се наложи да направя ln -s libldap-2.4.so.2.5.4 libldap-2.3.so.0 както и ln -s liblber-2.4.so.2.5.4 liblber-2.3.so.0 . След като ги направих httpd не се оплакваше, че ги няма вече … И можех да компилирам php-то.

Но и след като пуснах make на php-то имаше проблеми с компилирането … Първия, които се появи е поради обновяването на GMP до версия 5.0.1 . Бъга е репортнат за версия 5.3.2RC1,  но не го намерих за 5.2.XX

Линк към бъг PHP BUG #50990 . В моя случай реда е 1399 на php-5.2.13/ext/gmp/gmp.c , в който променяме както е описано там:

I solved replacing the outdated __GMP_BITS_PER_MP_LIMB defined constant with GMP_LIMB_BITS. The latter is present in all previous versions, and MPIR define it too.
След като оправих това продължих с make … Но тъкмо накрая се появи друг проблем .. И този пък с libpng и версия 1.4.1 …  И този път отново бъга присъства в листата на версия 5.3.X,  но не и в 5.2.XX

И там също ще трябва да редактираме един от файловете за да можем да компилираме php-то .

Бъга е документиран тук BUG #50734 . След като го промених както е описано там се компилира успешно. Реда е 142. на файл php-5.2.13/ext/gd/libgd/gd_png.c

Вече си имаме работещо php :)

Да но сега, трябва да оправим още един symlink ln -s libffi.so.4 libfftw3.so.3, че иначе няма да ни работи ImageMagick  :)

Толкова за сега :)

CentOS 5.2 и SELinux

Тези дни реших да си поиграя със сигурноста на един линукс и реших да включа SELinux-a :)

Аз реших да го пусна в strict mode :)  И за да тръгне всичко без да имаме кърнел паници трябва да направим следните стъпки.

  1. Редактираме  /etc/selinux/config и променяме от SELINUX=disabled на SELINUX=permissive след това проверяваме дали  SELINUXTYPE е =targeted 
  2. Записваме промените във файла и правим  touch /.autorelabel и рестартираме машината. Може да и отнеме известно време в зависимост от това, колко е пълен диска ( Защото прави relabeling на файловете).
  3. След като вече е приключилоо и системата е UP може да се логнете и да минете от permissive mode към enforcing.
  4. Хубаво да проверите дали сте инсталирали selinux-policy-strict и selinux-policy-targeted (това се инсталира по подразбиране с още при инсталиране на OS.
  5. Следващата стъпка е да сменим policy от SELINUXTYPE=targeted на SELINUXTYPE=strict и отново правим touch /.autorelabel и рестартираме ( хубаво е да разкоментираме едно редче в /etc/selinux/strict/contexts/users/root и по точно това system_r:sshd_t:s0 sysadm_r:sysadm_t:s0 staff_r:staff_t:s0 user_r:user_t:s0 защото в противен случай ЕДИНСТВЕНО И САМО локално на машината ще можем да бъдем ИСТИНСКИ ROOT.
  6. Рестартираме отново за да може да мине relabeling отново и вече е време да направим enforcing на policy-тата за да станат активни :) Съответно променяме SELINUX=permissive на SELINUX=enforcing във файла /etc/selinux/config и отново рестарт.
  7.  И това е то :) SELinux-a е активен вече, но от тук насетне ще трябва да се правят 345234523452345 операции за да може всичко да работи както трябва :) 

Ами това е за сега ще пиша повече като имам напредък :)

 

    CentOS 5.2 е тук !

    Преди няколко дни излезе версия 5.2 на CentOS , която е базирана на сорсовете на RHEL. Повече може да прочетете тук.

    Малко след излизането и решиш, че ще си ъпгрейдна сървърите  ‘yum upgrade’ ;) Всичко мина нормално :) Можете спокойно да ъпдрейдвате :) Тествано е от мен на поне 4 различни хардуерни конфигурации и няма  проблем.