Архив метки: php5

WordPress: Доработка напильником темы Twenty Twelve

Решил немного поменять оформленице. Первое, что не устраивает - комменты, которые находятся над постом. Неудобно, как я считаю.

Вообще рекомендуют вносить изменения не в саму тему (она главная(системная) и все такое), а создать ее копию и в ней ковыряться. Лично я этого делать не стал (зря наверное) и внес изменения напрямую. Итак, приступим.

Открываем в Редакторе тему и ищем файл content.php. Делаем в нем такое - перемещаем эту строчку:

<?php if ( comments_open() ) : ?>
<div class="comments-link">
<?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a reply', 'twentytwelve' ) . '</span>', __( '1 Reply', 'twentytwelve' ), __( '% Replies', 'twentytwelve' ) ); ?>
</div><!-- .comments-link -->
<?php endif; // comments_open() ?>

вот под эту:

 </header><!-- .entry-header -->

<?php if ( is_search() ) : // Only display Excerpts for Search ?>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div><!-- .entry-summary -->
<?php else : ?>
<div class="entry-content">
<?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentytwelve' ) ); ?>
<?php wp_link_pages( array( 'before' => '<div class="page-links">' . __( 'Pages:', 'twentytwelve' ), 'after' => '</div>' ) ); ?>
</div><!-- .entry-content -->
<?php endif; ?>

Усе, теперь комментарии будут под постом.

Следующим этапом я захотел заменить формат строки  "Запись опубликована 20.03.2015 в рубрике Uncategorized с метками jiayu s3, s4502, Болтовня. Изменить" на "Запись опубликована с метками jiayu s3, s4502, Болтовня." Т.е. убрать Рубрики\категории, которыми я не пользуюсь, а также слово "Изменить". Открываем файл functions.php (Функции темы). Ищем следующую строку:

$utility_text = __( 'This entry was posted in %1$s and tagged %2$s on %3$s<span class="by-author"> by %4$s</span>.', 'twentytwelve' );

И изменяем ее

$utility_text = __( 'Запись опубликована %3$s с метками %2$s<span class="by-author"> by %4$s</span>.', 'twentytwelve' );

Выше в коде сказано, что %1$s - это Категория, %2$s - Метка, %3$s - Дата, %4$s - Имя автора.

Так, теперь нужно убрать слово "Изменить". Открываем файл content.php, ищем строчку

<?php edit_post_link( __( 'Edit', 'twentytwelve' ), '<span class="edit-link">', '</span>' ); ?>

комментим ее

<?php //edit_post_link( __( 'Edit', 'twentytwelve' ), '<span class="edit-link">', '</span>' ); ?>

Следом открываем файл content-link.php и проделываем все тоже самое.

Естественно не забываем после каждого редактирования файла нажимать кнопочку "Обновить файл".

Цынки на инфу:

  1. Перемещаем комменты
  2. Выкидываем Категории на мороз
  3. Удаляем слово "Изменить"

Интересные статьи, на которые набрел, пока искал инфу:

  1. Twenty Twelve: настраиваем стандартную тему wordpress
  2. Как перевести дочернюю тему у многоязычного WordPress

Обратно всплыть по рубку.

Наконец-то дошли руки в который раз поднять свой уютный бложек. Только уже на Cubietruck (Cubieboard 3). Однако обо всем попорядку.

Cubietruck пришел ко мне из Китая примерно в конце Октября. В это врямя я был сурьёзно занят употреблением пивных напитков и поэтому занялся этой коробочкой только в 2015 году, а так просто включил, посмотрел, что встроенный Android грузится, выключил, убрал все обратно в коробку и поставил на полку. Где-то в Январе веселье закончилось, я смахнул пыль с убранной на полку коробки и понеслось. Выцарапав из старой электронной книги sd карту объёмом 8 Гб, записал на нее Cubian. Есть еще дистрибутивы, например Lubuntu или Fedora, а так же основанные на Arch'е и Gentoo. Присовокупил внешний жесткий диск 3,5". Запитывал от такого блока питания. Поднял NFS, Nginx-Mysql-Wordpress-PHP, Transmission. Решил обновить Transmission, т.к. в версии 2.52 нельзя указывать путь для сохранения каждого торрента, задается только общий. И подключил Jessie репозиторий. И понеслось. Transmission потащил за собой всякое, конфликты, зависимостей udev, который не хотел ставится из-за старого ядра и т.д. В общем все пропало, форматнул флешку, начал жизнь с чистого листа. Потихоньку обновился, разобрался с udev, поставив новое ядро (правда не знаю, сможет оно загрузится или нет), ну а дальше по накатанной - NFS, Nginx-Mysql-Wordpress-PHP. Вот только теперь Nginx не захотел казать мой бложек. Делал все как в прошлый раз, ничего. Поставил Apache, такая же ситуация (правда я его не настраивал). Ну и плюнул на это дело. А где-то через месяц опять вбил IP моего мега-сервера и вуаля - стандартная страница Apache. Сразу же попробовать потыкать палочкой в Nginx, но он все равно не подавал признаков жизни, поэтому я его хладнокровно aptitude purge nginx. И начал ковыряться в настройках Apache. У него оказалось так же все разбросано по директориям, как и у Nginx (да, это стиль Debian, я знаю, просто когда первый раз ставил Nginx, был не в курсе и был несколько удивлен таким расположением настроек). Все заработало, правда теперь осталось подшаманить с WordPress, т.к. я скопировал конфиги, но не папку с плагинами и темами. Соответственно, при заходе на главную, показывает белый экран и все. Но если зайти на какую-нибудь другую страницу, например настроек, то все сразу отображается. Лечится просто установкой другой темы в настройках.

И да, Plex я не поднял, т.к. его нет в официальном репозитории. Собирать его ручками как-то не хотелось, а на официальном сайте только для ARM 6.x, поэтому остановился на MiniDLNA. Правда чуть-чуть пришлось подшаманить - у меня всё видео раскидано по директориям - Фильмы, Сериалы и, конечно, Аниме. А когда задаешь список путей до файлов в конфиге MiniDLNA, то все смешивается, т.е. телевизор кажет общую папку, где находятся Фильмы, Сериалы и, конечно, Аниме. Поэтому просто создал директорию Media и туда накидал символических ссылок на Фильмы, Сериалы, и, конечно, Понятно-Что.

Итог. За свои деньги (я брал за 3800 на Aliexpress) аппарат кошерный, занимает мало места, не издает шума. Я свой старый системник разобрал на запчасти, корпус упер в гараж, а на его место поставил тумбу. А Cubietruck вместе с жестким диском лежит на подоконнике у окна.

В работе

 

FreeBSD + Apache + MySQL + PHP5 + WordPress

Собственно, почему решил переехать на свой собственный standalone блог:  завалялся у меня старый ноут, на котором стояла попеременна то винда, джента,
фря, винда и опять фря. Вообще хотел на нем продолжить изучение Фряхи, но каждый раз давал слабину и просто забивал на это и бук так и продолжал
пылиться дальше.  Ну а на этот раз решил так сказать простимулировать себя, чтобы не было желания в очередной раз забросить Фряху и бук. И начал
думать, что бы такое организовать на этом буке. Думал долго, минуты 3. И надумал такое – запустить свой собственный блог, а потом еще и форум докучи,
чтобы был хоть какой-то опыт в настройке Апача, Похапе и Мускуля. посмотрел, че да как, выбрал в качестве движка блога WordPress.
Собствеено, здест описывается процесс установки и настройки связки Apache + MySQL + PHP5 + WordPress на FreeBSD.
Т.к. сам делал все по различным руководствам, я просто дам ссылку на страницу с настройками, ибо смысла перепечатывать одно и то же нет.
Начинаем с установки MySQL
Опции сборки и пример конфига можно посмотреть здесь – http://www.lissyara.su/articles/freebsd/programms/mysql/
Хотя в первый раз, когда я все ставил, не пользовался ни опциями сборки, которые могут ускорить работу Мускуля, ни исправлял конфигурационный файл -
все работало и так. После пересборки и рихтовки конфига тоже все работает. Менять что-то или нет – на ваш выбор.
Ставим mysql50-server

cd /usr/ports/databases/mysql50-server
make install clean

После того, как все соберется, ставим mysql50-scripts

cd /usr/ports/databases/mysql50-scripts
make install clean

Дальше ставим клиент mysql50-client

cd /usr/ports/databases/mysql50-client
make install clean

Прописываем в /etc/rc.conf
mysql_enable=”YES”

Создаем таблицу

mysql_install_db

Нужно сразу дать права на каталог, иначе сервер просто не будет запускаться, ссылаясь, что не может создать файл в каталоге /tmp, я очень долго искал
причину, почему он не хотел запускаться. Оказалось все просто, нужно было всего лишь сделать

chown -R mysql:mysql /var/db/mysql

Далее, запускаем

mysql_secure_installation

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

Ниже требуется пароль как бы рута, который будет рулить всем мускулем, но так как мы ставим Мускуль в первый раз и рутовый пароль для Мускуля еще не
установлен, просто жмем Ентер при запросе пароля

In order to log into MySQL to secure it, we’ll need the current
password for the root user.  If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):

Далее спрашивается, нужно ли заводить пароль. Конечно же отвечаем да и задаем пароль.

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n]Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!

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

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n]Y
… Success!

Говорится, что по идее рут пользователь Мускуля может подключаться к базе только локально. Конечно же отвечаем утвердительно. Для справки – можно
подключаться через SSH и заходить под рутом, при утвердительном ответе это все будет работать. Просто видел на форумах, что люди спрашивают – как же
тогда удаленно работать с базой, если отключить удаленный вход для рута.

Normally, root should only be allowed to connect from ‘localhost’.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n]Y
… Success!

По умолчанию создается база test, к которой имеет доступ любой пользователь. она нужна только для тестирования и ее можно удалить. Отвечаем
утвердительно.

By default, MySQL comes with a database named ‘test’ that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n]Y

В общем – отвечаем утвердительно :)
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
… Success!

Cleaning up…

All done!  If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Все, Мускуль чутка настроен и готов к работе.

Далее, нужно создать базу данных для работы WordPress.

mysql -uroot -p   здесь вводится пароль рута, который вводился при инсталяции MySQL, не обычного пользователя root.

появится приглашение MySQL

mysql>

вводим такое

mysql> CREATE DATABASE databasename; где databasename – имя вашей базы. Можете назвать blog, wordpress. На вышу фантазию. Не забудте точку с запятой
(;) после имени базы.

Далее, даем пользователю права на доступ к базе

mysql> GRANT ALL PRIVILEGES ON databasename.* TO “wordpressusername”@”hostname”
-> IDENTIFIED BY “password”; databasename – имя созданной выше базы, wordpressusername – имя пользователя, который будет работать с базой, например
vasia. В 99% случаеях hostname нужно заменить на localhost. password – пароль для доступа к базе datebasename. Опять же не забываем про (;) после
IDENTIFIED BY “password”.

Последний шаг

mysql> FLUSH PRIVILEGES;

и выходим отсюда

mysql> EXIT

Все, с MySQL разобрались.

Теперь ставим Apache

cd /usr/ports/www/apache22
make install clean

Апач поставился, пока ничего не трогаем, потом к нему вернемся ;)

Ставим PHP

cd /usr/ports/lang/php5

make install clean

В меню сборки отмечаем строчку “Build Apache module”

Жмем Ок, ждем, когда РНР соберется.

Ковыряемся в файле /usr/local/etc/apache22/httpd.conf

Там должна появится строчка в секции Dynamic Shared Object (DSO) Support

LoadModule php5_module        libexec/apache22/libphp5.so

В ServerAdmin вписываем адрес, по которому будут слать вам письма в случае чего
В ServerName адрес, который вы зарегестрировали. Я через DynDNS взял себе genideb.homeunix.org, соответственно вписываю его
В DocumentRoot пишем адрес до WordPress. Правда мы его еще не ставили, если будете куда-то его перемещать, то указываете нужную папку. Если нет, то по
умолчанию все ложится в /usr/local/www/data/wordpress/. Я лично ничего никуда не перемещал, все работает в стандартной папке.

Находим строчку <IfModule dir_module>

Она должна выглядеть так

<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>

Еще находим такую строчку

<Directory “/usr/local/www/data/wordpress/”>

Добавляем или меняем значения на

Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all

И в конец конфига добавить такую строчку

AddType application/x-httpd-php .php

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

Итак, теперь еще пару приложений

cd /usr/ports/databases/php5-mysqli/
make install clean

cd /usr/ports/www/wordpress
make install clean

Копируем конфиг WordPress’a

cd /usr/local/www/data/wordpress/
mv wp-config-sample.php wp-config.php

Открываем wp-config.php в текстовом редакторе и редактируем следующие строчки

define(‘DB_NAME’, ‘Здесь пишем имя созданной базы в MySQL’);
define(‘DB_USER’, ‘Здесь имя пользователя для работы с базой’);
define(‘DB_PASSWORD’, ‘Здесь пароль для доступа к базе’);
define(‘DB_HOST’, ‘localhost’);
define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);

Чуть ниже находим такие строчки

define(‘AUTH_KEY’,         ”);
define(‘SECURE_AUTH_KEY’,  ”);
define(‘LOGGED_IN_KEY’,    ”);
define(‘NONCE_KEY’,        ”);
define(‘AUTH_SALT’,        ”);
define(‘SECURE_AUTH_SALT’, ”);
define(‘LOGGED_IN_SALT’,   ”);
define(‘NONCE_SALT’,       ”);

В кавычки нужно ввести всякую белиберду, например вот так

define(‘AUTH_KEY’, ‘:dr+%/5V4sAUG-gg%aS*v;&xGhd%{YKC^Z7KKGh j>k[.Nf$y7iGKdJ3c*[Kr5Bg');
define('SECURE_AUTH_KEY', 'TufWOuA _.t>#+hA?^|3RfGTm>@*+S=8\"\'+\"}]<m#+}V)p:Qi?jXLq,<h\\`39m_(‘);
define(‘LOGGED_IN_KEY’, ‘S~AACm4h1;T^\”qW3_8Zv!Ji=y|)~5i63JI |Al[(<YS<2V^$T])=8Xh2a:b:}U_E’);
define(‘NONCE_KEY’, ‘k1+EOc-&w?hG8j84>6L9v\”6C89NH?ui{*3\\(t09mumL/fFP_!K$JCEkLuy ={x{0′);

и т.д. Это сделано специально, чтобы осложнить подбор паролей. Чем длиней и позаковыристей – тем лучше.

Создаем в папке (если вы никуда не перемещали WordPress) /usr/local/www/date/wordpress/
файл .htaccess и прописываем в нем такое

DirectoryIndex index.php
Options -Indexes

Стартуем все это

запускаем MySQL

/usr/local/etc/rc.d/mysql-server start

Запускаем Apache

apachectl start

Для запуска установки WordPress запускаем браузер, набираем имявашегосайта/wp-admin/install.php – если только вы не перекинули файлы установки в
поддиректорию, например имявашегосайта/blog/ тогда адрес должен быть имявашегосайта/blog/wp-admin/install.php

Должен запуститься мастер установки. Все, дальше вы сами, завести пользователя и войти в систему можно и без подсказки :)

Ссылки по теме

Опции Apache и просто всякое интересное
Настройки MySQL
Установка WordPress, официальная документация
Быстрая установка WordPress